Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CleanPathMiddleware ¶ added in v0.8.0
func CleanPathMiddleware() rtr.MiddlewareInterface
CleanPathMiddleware creates a new middleware that cleans up double slashes in URL paths. For example, it converts "/users//1" or "//users////1" to "/users/1". This should typically be added early in the middleware chain.
func GetHead ¶ added in v0.8.0
func GetHead() rtr.MiddlewareInterface
GetHead creates a middleware that automatically routes undefined HEAD requests to GET handlers. This is useful for automatically handling HEAD requests without requiring explicit HEAD handlers.
By using this middleware, you are in compliance with the HTTP/1.1 spec (RFC 2616), which states that servers MUST support the HEAD method for any URI that returns a response body for a GET request.
Additionally, this middleware provides a performance benefit by saving clients the overhead of downloading the full response body when they only need metadata.
This is a common web practice, and many web frameworks and servers (like Express.js, Django, etc.) provide this functionality out of the box. It also saves developers from having to implement HEAD handlers separately for every route.
Usage:
router := rtr.NewRouter()
router.AddRoute(rtr.NewRoute().
SetMethod("GET").
SetPath("/test").
SetHandler(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
}).
AddMiddleware(middlewares.GetHead()))
Parameters:
- next: The next handler in the middleware chain.
Returns:
- A middleware that automatically routes undefined HEAD requests to GET handlers.
func RecoveryMiddleware ¶
func RecoveryMiddleware() rtr.MiddlewareInterface
RecoveryMiddleware creates a new middleware that recovers from panics. It logs the panic details and returns a 500 Internal Server Error response. This should typically be added as one of the first middlewares in the chain.
Types ¶
This section is empty.