mirror of https://github.com/containers/podman.git
				
				
				
			| Bumps [github.com/vbauerster/mpb/v7](https://github.com/vbauerster/mpb) from 7.5.2 to 7.5.3. - [Release notes](https://github.com/vbauerster/mpb/releases) - [Commits](https://github.com/vbauerster/mpb/compare/v7.5.2...v7.5.3) --- updated-dependencies: - dependency-name: github.com/vbauerster/mpb/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Also bump the go module to 1.17 to be able to compile the new code. Given containers/common and others already require go 1.17+ we're safe to go. Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Valentin Rothberg <vrothberg@redhat.com> | ||
|---|---|---|
| .. | ||
| LICENSE | ||
| README.md | ||
| canonical.go | ||
| compress.go | ||
| cors.go | ||
| doc.go | ||
| handlers.go | ||
| logging.go | ||
| proxy_headers.go | ||
| recovery.go | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	gorilla/handlers
Package handlers is a collection of handlers (aka "HTTP middleware") for use
with Go's net/http package (or any framework supporting http.Handler), including:
- LoggingHandler for logging HTTP requests in the Apache Common Log Format.
- CombinedLoggingHandler for logging HTTP requests in the Apache Combined Log Format commonly used by both Apache and nginx.
- CompressHandler for gzipping responses.
- ContentTypeHandler for validating requests against a list of accepted content types.
- MethodHandler for matching HTTP methods against handlers in a
map[string]http.Handler
- ProxyHeaders for populating r.RemoteAddrandr.URL.Schemebased on theX-Forwarded-For,X-Real-IP,X-Forwarded-Protoand RFC7239Forwardedheaders when running a Go server behind a HTTP reverse proxy.
- CanonicalHost for re-directing to the preferred host when handling multiple domains (i.e. multiple CNAME aliases).
- RecoveryHandler for recovering from unexpected panics.
Other handlers are documented on the Gorilla website.
Example
A simple example using handlers.LoggingHandler and handlers.CompressHandler:
import (
    "net/http"
    "github.com/gorilla/handlers"
)
func main() {
    r := http.NewServeMux()
    // Only log requests to our admin dashboard to stdout
    r.Handle("/admin", handlers.LoggingHandler(os.Stdout, http.HandlerFunc(ShowAdminDashboard)))
    r.HandleFunc("/", ShowIndex)
    // Wrap our server with our gzip handler to gzip compress all responses.
    http.ListenAndServe(":8000", handlers.CompressHandler(r))
}
License
BSD licensed. See the included LICENSE file for details.