* Initial support for Gateway Server MVC
Includes:
- FilterFunctions
- HandlerFunctions
- TestRestClient
Fixes gh-36
* Adds ProxyExchange abstraction and RestTemplate impl.
Also formatting and polish
* Migrates from RestTemplateProxyExchange to ClientHttpRequestFactoryProxyExchange
Also implements GatewayServerResponse that is mutable.
* Removes RestTemplateProxyExchange.javaˆ
* Allows resolving uri by request attribute
* formattingˆ
* Moved beans to GatewayServerMvcAutoConfiguration
* Removes unneeded GatewayServerRequestBuilder.javaˆ
* Adds addRequestParameter filter
* Adds FilterFunctions.setPath()
* Moves FilterFunctions.addResponseHeader()
* Adds FilterFunctions.stripPrefix()
* Moves ProxyExchangeHandlerFunction to bean.
This allows easier autoconfiguration.
* Adds HttpHeadersFilter and RemoveHopByHopR*HeadersFilter
* removes unused imports
* Initial local configuration compatibility with webflux server.
Borrows Operation framework from Spring Boot Actuator.
Discoverable predicates and filters are found via spring.factories. Currently only static methods are supported.
Shortcut configuration is not yet supported.
* Organized classes into individual packages
* Copy request body to proxy exchange client request body
* Changes getApplicationContext() to user RequestContextUtils
rather than relying on the DispatcherServlet attribute.
* Moves content to MvcUtils.java
* Allows for multiple predicates and filters with the same name.
* a get only route is to0 broad and causes a request loop
* Save the anded predicate, whoops.
Adds some trace logging as well.
* Adds initial support for load balancing
* Moves TestRestClient to client package
* Moves handler related classes to handler package
* Creates HandlerDiscoverer to dynamically load HandlerFunctions
* polish
* polish
* Extracts findOperation()ˆ
* Extracts invokeOperation()
* Adds support for config uri type lb://serviceId
* Adds uri template variable support.
Adds supporting methods to MvcUtils.java.
Expands uri templates in existing filters.
* Adds support for host predicate
* Adds support for circuit breaker filter
* Adds initial support for retry filter
* Adds initial support for Bucket4j rateLimit filter
* Removes separate *Supplier classes if not needed.
* Adds header request predicate
* Fixes accept() methods to better values.
* Adds support for cookie predicate
* Adds support for after, before and between time predicates
* Adds support for FilterFunctions.rewritePath()
* Adds support for shortcut configuration.
Adds Shortcut annotation to provide hints.
Extracts OperationMethod into an interface with DefaultOperationMethod the impl.
Adds NormalizedOperationMethod which uses the Shortcut annotation to normalize the arguments and give them the right keys. All Shortcut logic is here.
* Format comments
* Adds support for Forwarded and X-Forwarded-* Headers
* Moves TestLoadBalancerConfig to top level to shareˆ
* Uses JdkClientHttpRequestFactory.
* Adds routeId to RouterFunction.withAttribute()
* Adds toString()ˆ
* Shows sample of combining java dsl
* Implements refresh of config based routes.
* Adds support for proxying multipart form data.
* removes unneeded multipart propertyˆ
* Adds support for RestClientProxyExchange
Not yet the default. Waiting for a change that will eliminate reflection in RestClientProxyExchange
Created ProxyExchange.DefaultRequestBuilder as the code was duplicated in the two implementations.
* polishes ProxyExchangeHandlerFunction
* Adds ProxyExchange.ResponseConsumer
Adds ProxyExchange.Response and migrates away from ResponseHeadersFilter on the request to something more generic.
* Closes clientHttpResponse appropriately.
* Closes clientHttpResponse appropriately.
* Updates to use new WriteFunction interface
* Removes unused apache httpclient5 dependency
* Uses new RestClientCustomizer to add ClientHttpRequestFactory.
Changes constructor of RestClientProxyExchange to take a RestClient.