* Fixes routing issue with path filters and static uri
The problem arises from when MvcUtils.setRequestUrl is called depending on if the route was created via config, using `http(uri)` or having it set in a before filter.
To fix this, the uri is now always set in a before filter and the `http(uri)` methods are deprecated in favor of a BeforeFilterFunctions.uri() method.
A new DefaultHandlerSupplier was created to use an updated HandlerDiscoverer.Result that has fields for lowerPrecedenceFilters and higherPrecedenceFilters as the `http()` family of Handler methods need associated filters.
This results in a more consistent handling of the request url attribute.
Existing methods and constructors are deprecated.
Fixes gh-3736
After reading the following documentation, I was getting error over before method - The method before(Function<ServerRequest,ServerRequest>) is undefined for the type RouterFunction.
Using this java-based configuration it solved the error.
Signed-off-by: Aman Tripathi <iamtripathi.25@gmail.com>
* New naming convention using webflux and webmvc
The new suffixes are gateway-server-web{flux|mvc} and gateway-proxyexchange-web{flux|mvc}.
This commit updates the starters to use gateway-server-web{flux|mvc} suffixes.
* Adds new spring-cloud-gateway-server-web{flux|mvc} modules.
These simply depend on the old ones. A warning is logged if not using the new module.
* Adds s-c-g-proxyexchange-{webflux|webmvc} modules
* Updates docs for s-c-g-{proxyexchange|server}-{webflux|webmvc} modules
* Adds support for a Bucket4jRateLimiter
* Makes bucket4j-core optional and caffeine integration test scoped
* Adds Bucket4jRateLimiter auto-configuration
* Updates bucket4j to 8.14.0
* Adds customizable header and adapts to async build
* Adds configuration for alternative RefillStyles
* Adds documentation and refillTokens property