interceptors

package
v0.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2024 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// RawBytesMIME is the MIME type for raw bytes
	RawBytesMIME = "application/raw-bytes"
)

Variables

View Source
var (
	ErrNotAvailable      = fmt.Errorf("function not available at the moment")
	ErrDeniedInvalidArgs = status.Error(codes.PermissionDenied, "invalid arguments")
)
View Source
var (
	ErrStatusOrgProjectMismatch = status.Error(codes.InvalidArgument, "both project_id and org_id cannot be provided")
)
View Source
var (
	RawPayloadEndpoints = []string{
		"billing/webhooks/callback",
	}
)

Functions

func APIRequestEnrich added in v0.8.36

func APIRequestEnrich(ctx context.Context, handler *v1beta1.Handler, methodName string, req any) (any, error)

func APIResponseEnrich added in v0.8.41

func APIResponseEnrich(ctx context.Context, handler *v1beta1.Handler, methodName string, req, resp any) any

APIResponseEnrich is a unary server interceptor that enriches the response context with additional information based on the request expand field

func ByteMimeWrapper added in v0.13.0

func ByteMimeWrapper(h http.Handler) http.Handler

ByteMimeWrapper is a custom runtime.ServeMuxOption that sets the content type to application/raw-bytes for specific endpoints. This is useful when the response is a raw byte array and should be serialized as is.

func CookieSameSite added in v0.7.4

func CookieSameSite(name string) http.SameSite

func EnrichCtxWithPassthroughEmail

func EnrichCtxWithPassthroughEmail(identityHeader string) grpc.UnaryServerInterceptor

func GatewayHeaderMatcherFunc

func GatewayHeaderMatcherFunc(headerKeys map[string]bool) func(key string) (string, bool)

GatewayHeaderMatcherFunc allows bypassing default runtime behaviour of prefixing headers with `grpc-gateway`

func UnaryAPIRequestEnrich added in v0.8.36

func UnaryAPIRequestEnrich() grpc.UnaryServerInterceptor

UnaryAPIRequestEnrich is a unary server interceptor that enriches the request context with additional information

func UnaryAuthenticationCheck

func UnaryAuthenticationCheck() grpc.UnaryServerInterceptor

func UnaryAuthorizationCheck

func UnaryAuthorizationCheck() grpc.UnaryServerInterceptor

UnaryAuthorizationCheck returns a unary server interceptor that checks for authorization

func UnaryCtxWithAudit

func UnaryCtxWithAudit(service *audit.Service) grpc.UnaryServerInterceptor

func UnaryCtxWithStripeTestClock added in v0.8.29

func UnaryCtxWithStripeTestClock(ctx context.Context, handler *v1beta1.Handler, methodName string) context.Context

UnaryCtxWithStripeTestClock adds stripe test clock id to context

func WithCors

func WithCors(h http.Handler, conf CorsConfig) http.Handler

Types

type CorsConfig added in v0.7.4

type CorsConfig struct {
	AllowedOrigins []string `yaml:"allowed_origins" mapstructure:"allowed_origins" default:""`
	AllowedMethods []string `yaml:"allowed_methods" mapstructure:"allowed_methods" default:"GET POST PUT DELETE PATCH"`
	AllowedHeaders []string `yaml:"allowed_headers" mapstructure:"allowed_headers" default:"Authorization"`
	ExposedHeaders []string `yaml:"exposed_headers" mapstructure:"exposed_headers" default:"Content-Type"`
}

type RawJSONPb added in v0.13.0

type RawJSONPb struct {
	*runtime.JSONPb
}

RawJSONPb is a custom runtime.JSONPb that reads the raw JSON data as is.

func (*RawJSONPb) NewDecoder added in v0.13.0

func (*RawJSONPb) NewDecoder(r io.Reader) runtime.Decoder

type Session

type Session struct {
	// contains filtered or unexported fields
}

func NewSession

func NewSession(cookieCutter securecookie.Codec, conf authenticate.SessionConfig) *Session

func (Session) GatewayResponseModifier

func (h Session) GatewayResponseModifier(ctx context.Context, w http.ResponseWriter, _ proto.Message) error

GatewayResponseModifier https://grpc-ecosystem.github.io/grpc-gateway/docs/mapping/customizing_your_gateway/ called just before RPC server response gets serialized for gateway

func (Session) UnaryGRPCRequestHeadersAnnotator

func (h Session) UnaryGRPCRequestHeadersAnnotator() grpc.UnaryServerInterceptor

UnaryGRPCRequestHeadersAnnotator converts session cookies set in grpc metadata to context this requires decrypting the cookie and setting it as context

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL