Home / Function/ HTTPMiddleware() — fiber Function Reference

HTTPMiddleware() — fiber Function Reference

Architecture documentation for the HTTPMiddleware() function in adaptor.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  519ca005_b5e3_d33c_7eee_42ac83141d1c["HTTPMiddleware()"]
  69780622_2588_e0fa_ab5a_13dcfd3559e7["adaptor.go"]
  519ca005_b5e3_d33c_7eee_42ac83141d1c -->|defined in| 69780622_2588_e0fa_ab5a_13dcfd3559e7
  396b545e_ec69_3ad2_77c3_848b4e5253dd["CopyContextToFiberContext()"]
  519ca005_b5e3_d33c_7eee_42ac83141d1c -->|calls| 396b545e_ec69_3ad2_77c3_848b4e5253dd
  69f86198_f66a_4c4b_d80a_095ea673c486["HTTPHandler()"]
  519ca005_b5e3_d33c_7eee_42ac83141d1c -->|calls| 69f86198_f66a_4c4b_d80a_095ea673c486
  style 519ca005_b5e3_d33c_7eee_42ac83141d1c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/adaptor/adaptor.go lines 154–183

func HTTPMiddleware(mw func(http.Handler) http.Handler) fiber.Handler {
	return func(c fiber.Ctx) error {
		var next bool
		nextHandler := http.HandlerFunc(func(_ http.ResponseWriter, r *http.Request) {
			next = true
			c.Request().Header.SetMethod(r.Method)
			c.Request().SetRequestURI(r.RequestURI)
			c.Request().SetHost(r.Host)
			c.Request().Header.SetHost(r.Host)

			// Remove all cookies before setting, see https://github.com/valyala/fasthttp/pull/1864
			c.Request().Header.DelAllCookies()
			for key, val := range r.Header {
				for _, v := range val {
					c.Request().Header.Set(key, v)
				}
			}
			CopyContextToFiberContext(r.Context(), c.RequestCtx())
		})

		if err := HTTPHandler(mw(nextHandler))(c); err != nil {
			return err
		}

		if next {
			return c.Next()
		}
		return nil
	}
}

Domain

Subdomains

Frequently Asked Questions

What does HTTPMiddleware() do?
HTTPMiddleware() is a function in the fiber codebase, defined in middleware/adaptor/adaptor.go.
Where is HTTPMiddleware() defined?
HTTPMiddleware() is defined in middleware/adaptor/adaptor.go at line 154.
What does HTTPMiddleware() call?
HTTPMiddleware() calls 2 function(s): CopyContextToFiberContext, HTTPHandler.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free