Commit Graph

14979 Commits

Author SHA1 Message Date
Sam Brannen 2b03507894 Polishing wording regarding JUnit Platform and JUnit Jupiter 2017-07-07 16:52:37 +02:00
Sam Brannen ad5f85f8d3 Clean up deprecation warnings in spring-test 2017-07-07 15:41:02 +02:00
Arjen Poutsma e458862849 Reflect recent Reactor changes 2017-07-07 15:24:15 +02:00
Rossen Stoyanchev e0de7754cc Polish 2017-07-07 09:44:02 +02:00
Renato Soppelsa 3dd6069578 Add UTF8 problem+json media type constant
Issue: SPR-15742
2017-07-07 09:42:50 +02:00
Rossen Stoyanchev aad4916cac WiretapConnector removes exchanges
Issue: SPR-15744
2017-07-06 23:01:01 +02:00
Rossen Stoyanchev 4e95378fc6 Remove unused imports 2017-07-06 15:28:32 +02:00
Rossen Stoyanchev 5f9f323b12 Add logging to randomly failing websocket test 2017-07-06 15:07:41 +02:00
Rossen Stoyanchev acd6b9df06 Fix failing test
Explicitly pass the client-side JSR-356 WebSocketContainer to the
TomcatWebSocketClient to prevent the ContainerProvider from finding
the one from undertow-websockets-jsr through the ServiceLoader API.
2017-07-06 14:32:46 +02:00
Arjen Poutsma b0ab84657b Disable "failOnServerError" in ReactorClientHttpRequest
This commit disables the "failOnServerError" feature on the
`HttpClientRequest`, as wrapped by ReactorClientHttpRequest. 5xx errors
are supposed to be dealt with in the WebClient, not in the lower-level
components.

Issue: SPR-15739
2017-07-06 13:37:21 +02:00
Arjen Poutsma 0065bc5ee5 Support null query param values in ServerRequest.queryParam(String)
Issue: SPR-15740
2017-07-06 12:10:55 +02:00
Arjen Poutsma 625855c00f Add comment indicating path segment combining in UriComponents.normalize
Issue: SPR-15734
2017-07-06 11:45:13 +02:00
Juergen Hoeller 398322139a StringUtils.uncapitalize is not actually nullable
Issue: SPR-15540
2017-07-05 17:56:37 +02:00
Juergen Hoeller 59c26f65ba AbstractValueAdaptingCache subclasses may reuse NullValue.INSTANCE
Issue: SPR-15693
2017-07-05 17:55:11 +02:00
Arjen Poutsma 74b4c02881 Add ClientRequest attributes
This commit introduces client-side request attributes, similar to those
found on the server-side. The attributes can be used, for instance, for
passing on request-specific information to a globally registered
ExchangeFilterFunction.

The client request builder, as well as WebClient.RequestHeadersSpec and
WebTestClient.RequestHeaderSpec, add methods for adding a single
attribute, as well as manipulating the entire attributes map.

The client request itself adds a accessor for the (immutable) attributes
map.

This commit also introduces a new variant of the basic authentication
filter in ExchangeFilterFunctions. This variant takes the username and
password from well-known attributes.

Issue: SPR-15691
2017-07-05 14:52:38 +02:00
Juergen Hoeller eb928ce456 Reliably detect event listener conditions on proxied beans
Issue: SPR-15678
2017-07-05 13:41:56 +02:00
Juergen Hoeller a6d616d844 Exception handler methods may receive original as well as cause
Issue: SPR-15701
2017-07-05 13:39:30 +02:00
Juergen Hoeller 45d376b6af Polishing 2017-07-05 10:55:30 +02:00
Juergen Hoeller 1306bb9982 Declare spring-context as optional in web, webflux, messaging, jms
Issue: SPR-15733
2017-07-05 10:55:16 +02:00
Juergen Hoeller e35b63f813 Latest dependency updates (Kotlin 1.1.3-2, Undertow 1.4.18, JsonPath 2.3) 2017-07-05 00:19:38 +02:00
Juergen Hoeller 6c0ae1ec9b Clarified role of postProcessAfterInstantiation
Issue: SPR-15732
2017-07-05 00:01:38 +02:00
Sam Brannen 75a71accea Upgrade to JUnit Jupiter 5.0 M5
Issue: SPR-15728
2017-07-04 22:21:13 +02:00
Brian Clozel 9c93521512 Leverage PathPatternParser in CORS configuration source
Previously `UrlBasedCorsConfigurationSource` was relying on
`PathMatcher` implementations for matching incoming request lookup paths
with the configured path patterns for CORS configuration.

This commit replaces the use of `PathMatcher` with a `PathPatternParser`
that parses the string patterns into `PathPattenr` instances and allows
for faster matching against lookup paths.

Issue: SPR-15688
2017-07-04 16:01:18 +02:00
Violeta Georgieva fd1859c34c Adapt to the changes in Reactor Netty ClientOptions
ClientOptions/HttpClientOptions are now created via Builder
2017-07-04 15:26:29 +02:00
Rossen Stoyanchev f7478446b7 Improve Object return type support in WebFlux
Issue: SPR-15731
2017-07-04 08:19:50 -04:00
Brian Clozel f63b0d720e Update WebFlux reference documentation
Note that WebFlux and WebFlux.fn can be both used at the same time
thanks to the handler mapping registration in `@EnableWebFlux`.

Fixing typos in the reference documentation for outdated Reactor
operators.
2017-07-04 13:47:05 +02:00
Brian Clozel baaa84e90f Include port info in HTTP headers for Netty client
This commit adds the port information in the "Host" HTTP request header
for the Netty-based HTTP client.

Issue: SPR-15706
2017-07-04 12:13:06 +02:00
Sebastien Deleuze 7a171c6ae9 Fix Kotlin return types to match @Nullable annotations 2017-07-04 11:27:54 +02:00
Arjen Poutsma de9196bbdc Change from flatMap to map
Changed main tokenbuffer decoding loop from using flatMap to using map.
2017-07-04 10:51:43 +02:00
Brian Clozel 839b6c18d4 Optimize Flux pipeline in ClientHttpRequest 2017-07-04 10:11:56 +02:00
Arjen Poutsma f8589d9eca Return MultiValueMap from ServerRequest.queryParams instead of List
This commit changes ServerRequest.queryParams from returning a
List<String> given a String name, to returning a
MultiValueMap<String, String>, which gives more flexibility.
2017-07-03 16:23:33 +02:00
Arjen Poutsma 2ccbc55ffd Use PathContainer in web.reactive.function.server
This commit uses the newly introduced `PathContainer` and `RequestPath`
support in the functional web framework. It exposes the path container
as property in `ServerRequest`, and uses that in the path-based
`RequestPredicates`.
2017-07-03 13:36:30 +02:00
Sebastien Deleuze 727ca4514a Stream custom types in Jackson2JsonEncoder
Issue: SPR-15727
2017-07-03 10:25:59 +02:00
Sebastien Deleuze 9901c38f9d Improve logging of DefaultCorsProcessor for rejected headers
Issue: SPR-15708
2017-07-03 09:47:43 +02:00
Sebastien Deleuze 1fa8410995 Leverage RFC_1123_DATE_TIME formatter in tests
Issue: SPR-15661
2017-07-02 22:33:43 +02:00
Sam Brannen f790337880 Clean up warnings in spring-test 2017-07-02 21:28:39 +02:00
Rossen Stoyanchev 9528c3532d Fix typo 2017-07-01 21:07:08 -04:00
Rossen Stoyanchev 15cf9c1d78 Switch to ContainerPath variants in HandlerMapping's 2017-07-01 20:05:17 -04:00
Rossen Stoyanchev 145eab9c2f Remove PathMatchResultComparator
Follow-up change to the previous commit.
2017-07-01 17:27:54 -04:00
Rossen Stoyanchev a5e54788cc Remove PathPatternComparator
Direct comparison of a pattern (as a String) to the path does not make
much sense now that we deal with URL encoding through PathContainer
which exposes (safely) decoded path segments.

Removing the PathPatternComparator also means we can keep patterns
pre-sorted instead of sorting them all the time. That probably offsets
any benefits from comparing to the lookup path for direct matches and
patterns are still sorted according to specificity.
2017-06-30 18:19:35 -04:00
Rossen Stoyanchev 850083ca6c Polish 2017-06-30 18:19:35 -04:00
Rossen Stoyanchev 8581afa621 WebFlux compiles after PathPattern/Container changes 2017-06-30 18:19:35 -04:00
Andy Clement 26448a0ebc Rework matching to use PathContainer 2017-06-30 18:19:35 -04:00
Rossen Stoyanchev fc3fcf05fd Refactor PathSegmentContainer -> PathContainer
The new PathContainer represent the path as a series of elements
including separators. This naturally represents leading/trailing
slashes and empty path segments which in turn makes it easier to match
in PathPattern as well as to reconstruct the path.
2017-06-30 18:19:35 -04:00
Juergen Hoeller 6534359473 FactoryBean object cache cleared on shutdown
Issue: SPR-15722
2017-06-30 20:57:15 +02:00
Juergen Hoeller 9afce23845 WebSocketSession.getUri() may return null
Issue: SPR-15721
2017-06-30 20:56:21 +02:00
Arjen Poutsma 930f0f1760 Add ServerRequest.cookies()
This commit introduces a cookies() method on ServerRequest, returning a
MultiValueMap<String, HttpCookie>.

Issue: SPR-15715
2017-06-30 16:31:37 +02:00
Arjen Poutsma 621df7c978 Add ByteBuf leak detection @Rule
This commit introduces a JUnit rule that detects ByteBuf leaks in
subclasses of AbstractDataBufferAllocatingTestCase.
2017-06-30 10:52:00 +02:00
Juergen Hoeller b33d8c6ade Merge pull request #1467 from violetagg/deferred-result-handle-error
Polish - the flag continueProcessing is not needed
2017-06-30 10:33:39 +02:00
Violeta Georgieva 5f020d1ee7 Polish - the flag continueProcessing is not needed 2017-06-30 09:59:32 +03:00