* 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>