Documentation ¶
Overview ¶
Package filters contains all the http handler chain filters which are not api related.
Index ¶
- func BasicLongRunningRequestCheck(longRunningVerbs, longRunningSubresources sets.String) apirequest.LongRunningRequestCheck
- func NewCompressionResponseWriter(w http.ResponseWriter, encoding string) (http.ResponseWriter, error)
- func RestfulWithCompression(function restful.RouteFunction) restful.RouteFunction
- func WithCORS(handler http.Handler, allowedOriginPatterns []string, allowedMethods []string, ...) http.Handler
- func WithCompression(handler http.Handler) http.Handler
- func WithContentType(handler http.Handler, contentType string) http.Handler
- func WithMaxInFlightLimit(handler http.Handler, nonMutatingLimit int, mutatingLimit int, ...) http.Handler
- func WithPanicRecovery(handler http.Handler) http.Handler
- func WithTimeout(h http.Handler, timeoutFunc timeoutFunc) http.Handler
- func WithTimeoutForNonLongRunningRequests(handler http.Handler, longRunning apirequest.LongRunningRequestCheck, ...) http.Handler
- func WithWaitGroup(handler http.Handler, longRunning apirequest.LongRunningRequestCheck, ...) http.Handler
- type Compressor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BasicLongRunningRequestCheck ¶
func BasicLongRunningRequestCheck(longRunningVerbs, longRunningSubresources sets.String) apirequest.LongRunningRequestCheck
BasicLongRunningRequestCheck returns true if the given request has one of the specified verbs or one of the specified subresources, or is a profiler request.
func NewCompressionResponseWriter ¶
func NewCompressionResponseWriter(w http.ResponseWriter, encoding string) (http.ResponseWriter, error)
NewCompressionResponseWriter returns wraps w with a compression ResponseWriter, using the given encoding
func RestfulWithCompression ¶
func RestfulWithCompression(function restful.RouteFunction) restful.RouteFunction
RestfulWithCompression wraps WithCompression to be compatible with go-restful
func WithCORS ¶
func WithCORS(handler http.Handler, allowedOriginPatterns []string, allowedMethods []string, allowedHeaders []string, exposedHeaders []string, allowCredentials string) http.Handler
WithCORS is a simple CORS implementation that wraps an http Handler. Pass nil for allowedMethods and allowedHeaders to use the defaults. If allowedOriginPatterns is empty or nil, no CORS support is installed.
func WithCompression ¶
WithCompression wraps an http.Handler with the Compression Handler
func WithContentType ¶
WithContentType sets both the Content-Type and the X-Content-Type-Options (nosniff) header
func WithMaxInFlightLimit ¶
func WithMaxInFlightLimit( handler http.Handler, nonMutatingLimit int, mutatingLimit int, longRunningRequestCheck apirequest.LongRunningRequestCheck, ) http.Handler
WithMaxInFlightLimit limits the number of in-flight requests to buffer size of the passed in channel.
func WithPanicRecovery ¶
WithPanicRecovery wraps an http Handler to recover and log panics.
func WithTimeout ¶
WithTimeout returns an http.Handler that runs h with a timeout determined by timeoutFunc. The new http.Handler calls h.ServeHTTP to handle each request, but if a call runs for longer than its time limit, the handler responds with a 504 Gateway Timeout error and the message provided. (If msg is empty, a suitable default message will be sent.) After the handler times out, writes by h to its http.ResponseWriter will return http.ErrHandlerTimeout. If timeoutFunc returns a nil timeout channel, no timeout will be enforced. recordFn is a function that will be invoked whenever a timeout happens.
func WithTimeoutForNonLongRunningRequests ¶
func WithTimeoutForNonLongRunningRequests(handler http.Handler, longRunning apirequest.LongRunningRequestCheck, timeout time.Duration) http.Handler
WithTimeoutForNonLongRunningRequests times out non-long-running requests after the time given by timeout.
func WithWaitGroup ¶
func WithWaitGroup(handler http.Handler, longRunning apirequest.LongRunningRequestCheck, wg *utilwaitgroup.SafeWaitGroup) http.Handler
WithWaitGroup adds all non long-running requests to wait group, which is used for graceful shutdown.
Types ¶
type Compressor ¶
type Compressor interface { io.WriteCloser Flush() error }
Compressor is an interface to compression writers