Currently, prefix is spring.cloud.gateway and this is ambiguous now that server-webmvc exists.
spring.cloud.gateway.server.webflux is the new prefix
Fixes gh-3363
* Allow bean registration of server-webmcv components
This replaces the spring.factories mechanism.
* Adds support for loading FilterSuppliers via beans
* Adds support for loading PredicateSuppliers via beans
* Use beanFactory conversionService
Fixes gh-3250
- added Permissions-Policy header as an opt-in header & default value
- updated documentation with Permissions-Policy and resources
- updated tests to include Permissions-Policy
- SecurityHeaders and Permissions-Policy may be configured globally / per route
- updated structure of public methods and class members to match previous version structure
Fixes gh-2975
Signed-off-by: Jörg Richter <96986086+joerg-richter-5234@users.noreply.github.com>
* 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