Commit Graph

916 Commits

Author SHA1 Message Date
Spencer Gibb
fa5f9212e0 Removed errant code 2020-04-08 21:37:03 -04:00
Spencer Gibb
6a2af16ff8 Avoid concurrent modification errors by copying list of filters.
Fixes gh-1073
2020-04-08 20:48:30 -04:00
Spencer Gibb
cf13c284e1 formatting 2020-04-08 11:47:43 -04:00
ukayani
73b01f81e6 Preserves the order of route definitions.
This preserves the order in which route definitions are composited together and likewise for routes this would ensure that route definitions from properties do not lose their relative ordering.

Fixes gh-1660
2020-04-08 11:29:45 -04:00
Spencer Gibb
429a44f942 Adds CookieRoutePredicateFactoryIntegrationTests 2020-04-01 15:14:55 -04:00
Spencer Gibb
5718f85a15 Fixes rough ordering of routes by id alphabetically. 2020-04-01 14:53:30 -04:00
Spencer Gibb
25e1101f1a Adds spring-boot-starter-validation 2020-03-18 20:00:14 -04:00
Spencer Gibb
8519eeb11a Updates test verification 2020-03-18 19:36:59 -04:00
Ryan Baxter
0a9afd12e3 Updating message in test 2020-03-18 19:35:48 -04:00
Spencer Gibb
02b7411597 Fixes test to check rawquery values.
Since https://github.com/joel-costigliola/assertj-core/issues/1699 assertj uses the raw query instead of the encoded one.

fixes gh-1551
2020-03-18 19:34:20 -04:00
Nikita Konev
10479fa821 Sets maxFramePayloadLength and proxyPing for WebSocketService.
It does this by reusing WebSocket properties for a new `ReactorNettyRequestUpgradeStrategy` bean.

Fixes gh-1610
Fixes gh-1611
2020-03-16 12:30:24 -04:00
Spencer Gibb
2a7426025e Replaces doOnSuccessOrError with doOnSuccess or doOnError
fixes gh-1538
2020-03-13 22:19:35 -04:00
themoffster
a54b9b88e5 Fix RemoveRequestParameterGatewayFilterFactory to deal with query params which require encoding (#1613)
The RemoveRequestParameterGatewayFilterFactory class builds up a new URI once it removes the request parameter outlined in the filter config, however currently expects the remaining
request parameters to all be encoded and the are not.
When the request query params are determined, they are decoded in AbstractServerHttpRequest and are not subsequently encoded again before
the filter builds up the URI.
Currently when the remaining request parameters have a character which requires encoding, you get an "Invalid character ' ' for QUERY_PARAM"
error.

Co-authored-by: Alan Moffat <alan.moffat@ros.gov.uk>
2020-03-11 16:26:58 -04:00
Spencer Gibb
98287d530a Formatting 2020-03-04 15:36:19 -05:00
Tobias Gies
5f48b1d253 Falls back to unresolved hostname in ForwardedHeadersFilter to prevent NPE.
fixes gh-1601
2020-03-04 14:58:11 -05:00
buildmaster
97a87144ff Bumping versions to 2.2.3.BUILD-SNAPSHOT after release 2020-03-04 16:47:25 +00:00
buildmaster
4404a22ca7 Going back to snapshots 2020-03-04 16:47:25 +00:00
buildmaster
a5e3cb7eb9 Update SNAPSHOT to 2.2.2.RELEASE 2020-03-04 16:45:55 +00:00
Spencer Gibb
3d2be39670 Adds support for spring.codec.* in modify request body filter.
Also adds test for support added in modify response.

Fixes gh-1596
2020-03-03 14:03:04 -05:00
Spencer Gibb
1d241a83d1 Proxy websocket ping frames.
fixes gh-729
2020-03-02 20:03:04 -05:00
Spencer Gibb
52c3fd97fe formatting 2020-03-02 20:02:08 -05:00
Ruslan Akhundov
3d278e93d2 Adds gzip response modification handling.
Fixes gh-1492
Fixes gh-1548
2020-03-02 16:44:03 -05:00
Spencer Gibb
4bd51d46d2 Moves service file from test to main 2020-02-28 15:30:04 -05:00
dcutic
8ba1c06183 Adds support for rate limits bellow 1 req/s
Adds requestedTokens configuration option. Previously, this was
hardcoded to 1.

Make the 'requested tokens' redis template argument configurable in
order to allow defining rate limits lower than 1 req/s, e.g. 1 req/m.

This is accomplished by setting:
- replenishRate = requestRate
- burstRate = requestRate * timeSpanInSeconds
- requestedTokens = timeSpanInSeconds

For 1 req/m this would be accomplished by:
- replenishRate = 1
- burstRate = 60
- requestedTokens = 60

fixes gh-1327
2020-02-28 14:33:34 -05:00
Nikita Konev
fc7ed5b0a6 Fixes retry filter retries on all operations when a response timeout occurs.
fixes gh-1372
fixes gh-1393
2020-02-28 14:13:39 -05:00
trotman23
35eab962a1 Adds ServiceInstance metadata to RouteDefenition in DiscoveryClientRouteDefenitionLocator.
fixes gh-1555
2020-02-28 13:57:43 -05:00
suntiancheng
070c4be396 Adds max initial line length configuration.
fixes gh-1554
2020-02-28 10:49:43 -05:00
Spencer Gibb
138ea51ec2 formatting 2020-02-28 01:35:00 -05:00
Gaemi
28ae74b58b Allows RewriteFunction to be applied when no request body.
Fixes gh-1309
2020-02-28 01:24:31 -05:00
Stefan_Stus
7eaecedd5e Calls RewriteFunction even if body is empty.
fixes gh-1219
fixes gh-1220
2020-02-28 01:03:56 -05:00
Spencer Gibb
2e890864bd formatting 2020-02-27 23:50:09 -05:00
Spencer Gibb
05ba82855e Makes failing on route definition errors opt-out.
Since this is a behavior change, the new behavior needs to be opt in.

See gh-1376
2020-02-27 23:48:08 -05:00
MattyA
75a34df7e2 Moves routeId generation schedule to more specific location.
This allows only the routeId generation to be on an elastic scheduler
while everything else remains on the main thread.

That way if there are errors loading routes, this will halt execution.

Fixes gh-1574
Fixes gh-1575
2020-02-27 23:33:00 -05:00
owen.q
88be470c9b Add error handling to invalid RouteDefinition parse
- invalid definitions are logged with warn level

fixes gh-1376
fixes gh-1496
2020-02-27 21:08:41 -05:00
echooymxq
fd1763d5b9 Supports timeouts from properties rather than yaml.
Fixes gh-1522
2020-02-27 20:47:00 -05:00
Gaemi
0ddf816016 Modify newContentType to be reflected in downstream requests in ModifyRequestBodyGatewayFilterFactory
Fixes gh-1305
Fixes gh-1306
2020-02-27 18:34:25 -05:00
Adriano Scheffer
7b673a8e87 Lazily test AsyncPredicate for 'and' and 'or' operations.
fixes gh-1571
2020-02-27 16:58:56 -05:00
Timothy
47f640c915 Adds protected reconstructURI method.
Allows URI mapping behavior to be overridden for ReactiveLoadBalancerClientFilter.

Fixes gh-1524
2020-02-27 16:41:57 -05:00
Ingyu Hwang
b017891fe7 Adjust position of AfterRoutePredicateFactory
fixes gh-1557
2020-02-27 16:41:49 -05:00
Spencer Gibb
799577edb7 Creates HttpClientCustomizer.
This allows users to customize the Reactor Netty HttpClient without loosing auto configuration.

fixes gh-1546
2020-02-27 16:35:14 -05:00
Guy Lewin
60653ee240 Allow HttpClient creation to be customized by subclasses.
fixes gh-1577
2020-02-27 15:47:16 -05:00
Spencer Gibb
d4f2b6860d Merge branch '2.1.x' into 2.2.x 2020-01-31 12:08:10 -05:00
Spencer Gibb
2a3389e6a7 Updates CustomBlockHoundIntegration to whitelist more netty 2020-01-31 11:39:14 -05:00
Spencer Gibb
4fbadeec7e Implements missing methods 2020-01-27 11:59:50 -05:00
Tim Peeters
01f314a475 Adds configurable maxLifeTime in HttpClientProperties.
fixes gh-1542
2020-01-27 11:43:24 -05:00
Spencer Gibb
5786283774 Replaces deprecations 2020-01-21 19:43:14 -05:00
Spencer Gibb
ce7e5316fd Ignores NettyRoutingFilterTests
Test is flakey on Jenkins, fails with connection reset by peer.
2020-01-16 09:59:25 -05:00
Ryan Baxter
124603254d Update autoconfiguration for circuitbreaker filters. Fixes #1526 2020-01-14 16:37:17 -05:00
Spencer Gibb
85193a0d98 Updates Netty*Filter classes to use DefaultDataBuffer.
This avoids class cast exceptions when using MockServerHttpResponse.

Fixes gh-1491

It may also work for Tomcat, Jetty and Undertow.

See gh-145
2020-01-14 16:11:47 -05:00
Spencer Gibb
fb465e2291 Ignore hystrix tests for now. 2020-01-14 15:57:35 -05:00