package middleware import ( "context" "net/http" ) type HandleResult struct { // Tells that the request didn't passed the handler and should be filtered ShouldFilterRequest bool // The status code to return in case ShouldFilterRequest is true. StatusCode int Reason string } type Handler interface { Name() string Handle(ctx context.Context, r *http.Request) (result *HandleResult, err error) }