* Return an instance of `*fiber.Error` when no handler found
When a handler cannot be found for a given path, previously Fiber
would construct a plaintext response that cannot be modified.
This commit switches to returning a new instance of `*fiber.Error`
with identical error message so that users can customise the look
of their 404 pages.
Signed-off-by: AKP <tom@tdpain.net>
* Fix `Test_App_Next_Method`
This test was failing as the error returned by `c.Next()` that's
required to generate the correct 404 status code was not being
passed through the middleware and being silently ignored.
Signed-off-by: AKP <tom@tdpain.net>
* Fix `Test_Logger_All`
Signed-off-by: AKP <tom@tdpain.net>
* Fix `Test_Cache_WithHeadThenGet` test
As far as I can tell, this test is meant to check that a cached
HEAD request to a given endpoint does not return the cached
content to a GET request to the same endpoint, and the test has
been altered to correctly check for this.
Signed-off-by: AKP <tom@tdpain.net>
* ✨feature: print all routes message when server starts
* ✨feature: print all routes message when server starts
* ✨feature: print all routes message when server starts
* 🐛fix: errors unhandled
* 🐛fix: ignore child process and add some "-" to the table head
* 🐛fix: add printRoutesMessage for listener and listenTLS
- Mounted fiber and its sub apps error handlers are now saved a new
errorHandlers map in App
- New public App.ErrorHandler method that wraps the logic for which
error handler to user on any given context
- Error handler match logic based on request path <=> prefix accuracy
- Typo fixes
- Tests
* Add test run for go1.17
default type for yaml is changed to „application/x-yaml"
-> instead of the yaml´s we use the html and json files for the test
* Add Global Layout for view render
* Add test case for Views Layout
* Update ctx_test.go
* Add App Name function to pass custom app name
* Remove json tag for function
* Change func to string
* Add test for AppName
Co-authored-by: RW <rene@gofiber.io>
* fix: pass handlerCount when mounting to an App
* test: check for correct handlerCount after mounting an instance
* fix: pass handlerCount when mounting to a Group
* test: check for correct handlerCount after mounting to a Group
Co-authored-by: dleitter <dario.leittersdorf@bonprix.net>
Right now, each static request returns the file without any cache control
header. If you are using `app.Static` to serve your assets, the
browser shouldn't cache it. This PR introduces a way to set the cache
control header (if the file was found) on the file response to set a
custom max-age to e.g. cache it 1 year.