* golangci-lint: add and apply more stricter linting rules
* github: drop security workflow now that we use gosec linter inside golangci-lint
* github: use official golangci-lint CI linter
* Add editorconfig and gitattributes file
* app: do not use empty *net.IPNet in case of an error of "net.ParseCIDR"
* app: expose error returned by "net.ParseCIDR"
* ctx: do not repeatedly call method in loop
* ctx: add test for "IsProxyTrusted" func
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* - logger: fix custom tag
- use real bytebufferpool dependency instead of the internal
* 🐛 bug: fix mounting doesn't work if when to declare it before routes
* 🐛 bug: fix mounting doesn't work if when to declare it before routes
* 🐛 bug: fix mounting doesn't work if when to declare it before routes
* 🐛 bug: fix mounting doesn't work if when to declare it before routes
* 🐛 bug: fix mounting doesn't work if when to declare it before routes
* add onMount hooks, mountPath like express.js, better behavior for onName, onRoute, onGroup, onGroupName hooks on mounted apps
* add comment
* use once
* fix views when both app and sub-app have view engine, better behavior for mount path
* fix tests
* fix tests
* make some tasks
* make some tasks
* 🚀 Make IP vallidation 2x faster
* Add tests for IP validation
* phrasing & linter fix
* change test assert function
That was a surprise that testing style in gofiber/utils and in gofiber/fiber/utils are different 😳
* 🐛 bug: ClientHelloInfo support for app.Listener
* 🐛 bug: ClientHelloInfo support for app.Listener
* fix
* make tlshandler public
* update
* 🐛 bug: make tlsHandler public to use it with Listener #2034
Co-authored-by: wernerr <rene@gofiber.io>
* fixes#2016 - make IP() and IPs() more reliable
* improve the performance of IP validation functionality
* refactor IP validation and make it a configuration option
* ✨ v3 (feature): initial support for binding
* ✨ v3 (feature): initial support for binding #1981
use pointer/references instead of copies
* ✨ v3 (feature): initial support for binding
embed bind into the ctx
* ✨ v3 (feature): initial support for binding
- add URI binder.
* ✨ v3 (feature): initial support for binding
- add response header binder.
* ✨ v3 (feature): initial support for binding
- add response header binder.
* ✨ v3 (feature): initial support for binding
- add cookie binder.
* ✨ v3 (feature): initial support for binding
- custom binder support for body binding.
- test case for custom binder.
* ✨ v3 (feature): initial support for binding
- add map[string][]string & map[string]string support for binders.
* ✨ v3 (feature): initial support for binding
- fix Test_Bind_Header_Map
* ✨ v3 (feature): initial support for binding
- Functional Should/Must
* ✨ v3 (feature): initial support for binding
- custom struct validator support.
* ✨ v3 (feature): initial support for binding
- README for binding.
- Docs for binding methods.
* ✨ v3 (feature): initial support for binding
- Bind() -> BindVars(), Binding() -> Bind()
* ✨ v3 (feature): initial support for binding
- fix doc problems
* ✨ v3 (feature): initial support for binding
- fix doc problems
Co-authored-by: wernerr <rene@gofiber.io>
* 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
* Add RedirectToRoute and RedirectBack with fallback if referer in header not found
* replace errors.New with fmt.Errorf
* simplified code
* Add tests for different formats
* Add method to get route location and add benchmarks
* Add ToString function
* Fix error
* rearrange case for fmt.Stringer
* Fix bug for error return
* Lock latest route for app.Name(namee string)
* decreasing timeout for client test with timeout
* remove println and adjust condition to > 0
* Change name to get route url
* Change name to get route url
* Update ctx.go
Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
* Fix bug on getting url for optional and greedy params
* Fix greedy pattern
* This PR will fix#1921 (comment).
The optional and greedy params were not fetched correctly
* This PR will fix#1921 (comment).
The optional and greedy params were not fetched correctly
* This PR will fix#1921 (comment).
The optional and greedy params were not fetched correctly
Co-authored-by: RW <rene@gofiber.io>
Co-authored-by: hi019 <65871571+hi019@users.noreply.github.com>
* Renamed parseQuery to parseParamSquareBrackets
* Added square brackets processing for `application/x-www-form-urlencoded`
* Added test cases for Array of form values