1
0
mirror of https://github.com/labstack/echo.git synced 2024-12-24 20:14:31 +02:00
echo/website/content/guide/middleware.md
Vishal Rana 5a71f202f5 Updated docs, fixed #225.
Signed-off-by: Vishal Rana <vr@labstack.com>
2015-10-02 11:24:59 -07:00

1.3 KiB

title menu
Middleware
main
parent weight
guide 40

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

e.Group("/admin")
e.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.

Example

e.Use(mw.Recover())

Examples