* v3-retry-mechanism: Add retry mechanism
* General logic is implemented.
* Unit tests are added.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Refactor test assertion
* Replaced testify/assert with fiber's assert.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Add test for next method
* currentInterval bug is fixed in Retry.
* If condition is fixed in next.
* struct definition refactored and if condtion is removed in TestExponentialBackoff_Retry.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Add config for retry.
* Constant variables are removed.
* Helper function is added for default.
* Helper function is used in New function.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Replace math/rand with crypto/rand
* Random number generation package has been replaced with more secure one,
crypto/rand.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Add a README for retry middleware
* Explanation and examples are added.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Add comment line for documentation
* Comment lines are added for ExponentialBackoff variables.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* Run go mod tidy
* Unused package(s) removed.
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
* move middleware -> addon
Signed-off-by: Gökhan Özeloğlu <gokhan.ozeloglu@deliveryhero.com>
Co-authored-by: Muhammed Efe Çetin <efectn@protonmail.com>
* ✨ 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>
* ✨ v3: use any as default Message type of Error struct.
* ✨ v3: use any as default Message type of Error struct.
* ✨ v3: use any as default Message type of Error struct.
* ✨ v3: use any as default Message type of Error struct.
* 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>
* 🐛 Fix: Expiration time in cache middleware
* Custom expiration time using ExpirationGenerator is also functional
now instead of default Expiration only
* 🚨 Improve Test_CustomExpiration
* - stabilization of the tests
- speed up the cache tests
- fix race conditions in client and client tests
Co-authored-by: wernerr <rene@gofiber.io>