Documentation
¶
Index ¶
- Variables
- type AuthInterceptor
- type ValidationInterceptor
- func (v *ValidationInterceptor) WrapStreamingClient(next connect.StreamingClientFunc) connect.StreamingClientFunc
- func (v *ValidationInterceptor) WrapStreamingHandler(next connect.StreamingHandlerFunc) connect.StreamingHandlerFunc
- func (v *ValidationInterceptor) WrapUnary(next connect.UnaryFunc) connect.UnaryFunc
- type ValidationLogger
- type ValidationOptions
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMissingToken is returned when no authorization header is present. ErrMissingToken = errors.New("authorization header is required") // ErrMalformedToken is returned when the authorization header is malformed. ErrMalformedToken = errors.New("malformed authorization header") // ErrInvalidToken is returned when token authentication fails. ErrInvalidToken = errors.New("invalid authorization token") )
Functions ¶
This section is empty.
Types ¶
type AuthInterceptor ¶
type AuthInterceptor struct {
// contains filtered or unexported fields
}
AuthInterceptor implements connect.Interceptor for JWT authentication.
func NewAuthInterceptor ¶
func NewAuthInterceptor(authenticator security.Authenticator) *AuthInterceptor
NewAuthInterceptor creates a new authentication interceptor.
func (*AuthInterceptor) WrapStreamingClient ¶
func (a *AuthInterceptor) WrapStreamingClient(next connect.StreamingClientFunc) connect.StreamingClientFunc
WrapStreamingClient implements the streaming client interceptor (pass-through for server-side).
func (*AuthInterceptor) WrapStreamingHandler ¶
func (a *AuthInterceptor) WrapStreamingHandler(next connect.StreamingHandlerFunc) connect.StreamingHandlerFunc
WrapStreamingHandler implements the streaming handler interceptor for authentication.
type ValidationInterceptor ¶
type ValidationInterceptor struct {
// contains filtered or unexported fields
}
ValidationInterceptor implements connect.Interceptor for protovalidate validation.
func NewValidationInterceptor ¶
func NewValidationInterceptor() (*ValidationInterceptor, error)
NewValidationInterceptor creates a new validation interceptor with default options.
func NewValidationInterceptorWithOptions ¶
func NewValidationInterceptorWithOptions(opts ValidationOptions) (*ValidationInterceptor, error)
NewValidationInterceptorWithOptions creates a new validation interceptor with custom options.
func (*ValidationInterceptor) WrapStreamingClient ¶
func (v *ValidationInterceptor) WrapStreamingClient(next connect.StreamingClientFunc) connect.StreamingClientFunc
WrapStreamingClient validates streaming client messages (pass-through for server-side).
func (*ValidationInterceptor) WrapStreamingHandler ¶
func (v *ValidationInterceptor) WrapStreamingHandler(next connect.StreamingHandlerFunc) connect.StreamingHandlerFunc
WrapStreamingHandler validates streaming messages.
type ValidationLogger ¶
type ValidationLogger interface {
LogValidationError(ctx context.Context, direction string, err error)
}
ValidationLogger is an optional interface for logging validation errors.
type ValidationOptions ¶
type ValidationOptions struct {
// ValidateRequests enables request validation (default: true)
ValidateRequests bool
// ValidateResponses enables response validation (default: true)
ValidateResponses bool
// FailOnValidationError determines if validation errors should fail the request (default: true)
FailOnValidationError bool
// Logger for validation errors (optional)
Logger ValidationLogger
}
ValidationOptions configures the validation interceptor.
func DefaultValidationOptions ¶
func DefaultValidationOptions() ValidationOptions
DefaultValidationOptions returns the default validation options.