- BREAKING rename
mux.Interfacetomux.Routes - add support for mux.Mount(m mux.Mountable)
- BREAKING switch
Use(mw Middleware)to accept aMiddlewareinterface instead of a function - Add
mux.Use(fn)andmux.Compose(...mw). - Add tests for
subrouter := router.Group(path) - sanity check for /.well-known
- BREAKING: switch back to using
http.Handlerinstead ofhttp.HandlerFunc. This just ends up being more flexible (e.g. allow for chaining) and it's easy enough to dohttp.HandlerFunc(fn).
- bump enroute to improve matching
- switch to using functions
- add middleware stack support back in
- run go mod tidy and rename history to changelog
- reduce scope of mux.Router
- move the radix tree logic into enroute
- don't apply slots when there are extensions
- fix reading from request body
- middleware should also run on non-matching routes
- add middleware support
- add batch support
- add layouts and errors
- rename mux.List() to mux.Routes()
- add .Match(method, path) method
- fix panic edge case
- add
-raceto makefile - add
.Find(route)and.List()route methods
-
fix edge case where wrong handler was getting called
If you added
/{id}/edit, then added/, the parent handler would get the previous handler. So if you calledhttp.Get("/"), it would trigger the edit handler.
- expose the AST and add a top-level mux.Parse function
- add staticcheck
- initial commit