toFiberHandler converts a supported handler type to a Fiber handler.
(handler any)
| 11 | |
| 12 | // toFiberHandler converts a supported handler type to a Fiber handler. |
| 13 | func toFiberHandler(handler any) (Handler, bool) { |
| 14 | if handler == nil { |
| 15 | return nil, false |
| 16 | } |
| 17 | |
| 18 | switch handler.(type) { |
| 19 | case Handler, func(Ctx): // (1)-(2) Fiber handlers |
| 20 | return adaptFiberHandler(handler) |
| 21 | case func(Req, Res) error, func(Req, Res), func(Req, Res, func() error) error, func(Req, Res, func() error), func(Req, Res, func()) error, func(Req, Res, func()), func(Req, Res, func(error)), func(Req, Res, func(error)) error, func(Req, Res, func(error) error), func(Req, Res, func(error) error) error: // (3)-(12) Express-style request handlers |
| 22 | return adaptExpressHandler(handler) |
| 23 | case http.HandlerFunc, http.Handler, func(http.ResponseWriter, *http.Request): // (13)-(15) net/http handlers |
| 24 | return adaptHTTPHandler(handler) |
| 25 | case fasthttp.RequestHandler, func(*fasthttp.RequestCtx) error: // (16)-(17) fasthttp handlers |
| 26 | return adaptFastHTTPHandler(handler) |
| 27 | default: // (18) unsupported handler type |
| 28 | return nil, false |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | func adaptFiberHandler(handler any) (Handler, bool) { |
| 33 | switch h := handler.(type) { |