apiserver: k8s.io/apiserver/pkg/server/filters Index | Files

package filters

import "k8s.io/apiserver/pkg/server/filters"

Package filters contains all the http handler chain filters which are not api related.


Package Files

content_type.go cors.go doc.go longrunning.go maxinflight.go timeout.go waitgroup.go wrap.go

func BasicLongRunningRequestCheck Uses

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 WithCORS Uses

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 WithContentType Uses

func WithContentType(handler http.Handler, contentType string) http.Handler

WithContentType sets both the Content-Type and the X-Content-Type-Options (nosniff) header

func WithMaxInFlightLimit Uses

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 Uses

func WithPanicRecovery(handler http.Handler) http.Handler

WithPanicRecovery wraps an http Handler to recover and log panics (except in the special case of http.ErrAbortHandler panics, which suppress logging).

func WithTimeout Uses

func WithTimeout(h http.Handler, timeoutFunc timeoutFunc) http.Handler

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 Uses

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 Uses

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.

Package filters imports 26 packages (graph) and is imported by 104 packages. Updated 2019-12-09. Refresh now. Tools for package owners.