gorilla/handlers

Package gorilla/handlers is a collection of useful middleware for Go HTTP services & web applications 🛃

Go

1,744

187 commits

updated Feb 20, 2024

See the code

README

gorilla/handlers

Testing Codecov GoDoc Sourcegraph

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:

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.

go
golang
gorilla
gorilla-web-toolkit
handler
http
middleware

Significant stargazers

Yi-Jyun Pan

677 followers · starred Jul 2025

Kelsey Hightower

24,636 followers · starred Sep 2013

Dave Henderson

477 followers · starred Dec 2021

Gonzalo Chumillas

19 followers · starred Feb 2019

gorilla/handlers

Package gorilla/handlers is a collection of useful middleware for Go HTTP services & web applications 🛃

Go

1,744

187 commits

updated Feb 20, 2024

See the code

README

gorilla/handlers

Testing Codecov GoDoc Sourcegraph

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:

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.

go
golang
gorilla
gorilla-web-toolkit
handler
http
middleware

Significant stargazers

Yi-Jyun Pan

677 followers · starred Jul 2025

Kelsey Hightower

24,636 followers · starred Sep 2013

Dave Henderson

477 followers · starred Dec 2021

Gonzalo Chumillas

19 followers · starred Feb 2019