|
|
6 лет назад | |
|---|---|---|
| .. | ||
| LICENSE | 6 лет назад | |
| README.md | 6 лет назад | |
| canonical.go | 6 лет назад | |
| compress.go | 6 лет назад | |
| cors.go | 6 лет назад | |
| doc.go | 6 лет назад | |
| go.mod | 6 лет назад | |
| handlers.go | 6 лет назад | |
| handlers_go18.go | 6 лет назад | |
| handlers_pre18.go | 6 лет назад | |
| logging.go | 6 лет назад | |
| proxy_headers.go | 6 лет назад | |
| recovery.go | 6 лет назад | |
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:
map[string]http.Handlerr.RemoteAddr and r.URL.Scheme based on the
X-Forwarded-For, X-Real-IP, X-Forwarded-Proto and RFC7239 Forwarded
headers when running a Go server behind a HTTP reverse proxy.Other handlers are documented on the Gorilla website.
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))
}
BSD licensed. See the included LICENSE file for details.