1
0
mirror of https://github.com/labstack/echo.git synced 2024-12-22 20:06:21 +02:00
echo/website/content/guide/middleware.md

1.3 KiB

title menu
Middleware
side
parent weight
guide 4

Middleware is a function which is chained in the HTTP request-response cycle. Middleware has access to the request and response objects which it utilizes to perform a specific action, for example, logging every request.

Logger

Logs each HTTP request with method, path, status, response time and bytes served.

Example

e.Use(Logger())

// Output: `2015/06/07 18:16:16 GET / 200 13.238µs 14`

BasicAuth

BasicAuth middleware provides an HTTP basic authentication.

  • For valid credentials it calls the next handler in the chain.
  • For invalid Authorization header it sends "404 - Bad Request" response.
  • For invalid credentials, it sends "401 - Unauthorized" response.

Example

g := e.Group("/admin")
g.Use(mw.BasicAuth(func(usr, pwd string) bool {
	if usr == "joe" && pwd == "secret" {
		return true
	}
	return false
}))

Gzip

Gzip middleware compresses HTTP response using gzip compression scheme.

Example

e.Use(mw.Gzip())

Recover

Recover middleware recovers from panics anywhere in the chain and handles the control to the centralized [HTTPErrorHandler]({{< relref "guide/customization.md#http-error-handler">}}).

Example

e.Use(mw.Recover())

Recipes