Commit Graph

567 Commits

Author SHA1 Message Date
Juergen Hoeller 53aa9cc4cd Upgrade to Servlet API 4.0.1 (aligned with Tomcat 9 and Undertow 2)
Issue: SPR-16470
2018-05-07 14:17:28 +02:00
Juergen Hoeller 48807be482 Polishing 2018-05-05 15:16:08 +02:00
Juergen Hoeller c9f488363d Fine-tuned assertions and related polishing 2018-05-05 14:39:43 +02:00
Arjen Poutsma bfb2effddb Expose resource lookup function
This commit exposes the resource lookup function used by
`RouterFunctions.resources(String, Resource)`, so that it can be
composed upon.

Issue: SPR-16788
2018-05-04 13:36:24 +02:00
Arjen Poutsma 51325afbcc Clean up path variables after non match
This commit makes sure the nested path variables are only commited to
the attributes when all predicates match.

Issue: SPR-16692
2018-05-03 11:02:46 +02:00
Sebastien Deleuze af0cb53742 Support decoding Mono in Jaxb2XmlDecoder
Issue: SPR-16759
2018-05-02 12:10:46 +02:00
Arjen Poutsma 22edab852d Provide simple way to create ServerRequest
This commit introduces support for creating a new `ServerRequest` from
an existing instance. This is especially useful when filtering requests
in a HandlerFilterFunction.

Issue: SPR-16707
2018-05-02 10:54:00 +02:00
Rossen Stoyanchev 64b8b6e978 Polish WebSocketIntegrationTests 2018-05-01 14:26:21 -04:00
Rossen Stoyanchev 725d685799 ReactorNettyWebSocketSession implements close properly
Issue: SPR-16774
2018-05-01 12:04:37 -04:00
Sam Brannen de4b65a0f3 Suppress warnings in RequestMappingMessageConversionIntegrationTests 2018-04-30 12:05:34 +01:00
Juergen Hoeller 9bff5b48cf Fine-tuned assertions and related polishing in WebFlux builders 2018-04-27 23:36:58 +02:00
Johnny Lim 6519e7b22a Polish 2018-04-27 14:06:48 -04:00
Juergen Hoeller a683472daa Support for non-standard HTTP status in reactive ClientHttpResponse
Issue: SPR-16748
2018-04-27 18:25:11 +02:00
Johannes Edmeier 2a0540cb5f Move init of excchangeStrategies to default ctor in DefaultWebClientBuilder
When the copy constructor is used the exchangeStrategies need not to be
initialized as they are set in the copyconstructor

fixes SPR-16771
2018-04-26 10:28:38 +02:00
sdeleuze 1d6540b1c2 Enable KotlinScriptTemplateTests after KT-18833 fix 2018-04-23 14:49:22 +02:00
Rossen Stoyanchev b6da63aeb7 Align with 5.0.x change #cd3ed7 2018-04-19 13:50:55 -04:00
Rossen Stoyanchev da98ff72d2 Use StringDecoder to split SSE stream
ServerSentEventHttpMessageReader had logic to split on new lines
and buffer until an empty new line (start of a new event). To account
for random data chunking, it later re-assembled the lines for each
event and split again on new lines. However bufferUntil was still
unreliable a chunk may contain nothing but a newline, which doesn't
necessarily mean an empty newline in the overall SSE stream.

This commit simplifies the above by delegating the splitting of the
stream along newlines to StringDecoder.

Issue: SPR-16744
2018-04-19 11:29:12 -04:00
Rossen Stoyanchev 30c98c8a1c Polish tests to use WebClient retrieve() 2018-04-19 09:39:34 -04:00
Rossen Stoyanchev 06041ea4e2 Polish (minor) in AbstractMessageReaderArgumentResolver 2018-04-17 17:58:03 -04:00
Rossen Stoyanchev babe6c59c4 Avoid creating Exception instance if not needed
Issue: SPR-16726
2018-04-17 17:58:03 -04:00
nkjackzhang 961c641973 Fix typo in javadoc
Closes gh-1791
2018-04-13 13:15:39 +02:00
Rossen Stoyanchev 5b9e7e44e0 Improve WebClient test with ParameterizedTypeReference
Issue: SPR-16715
2018-04-11 16:19:53 -04:00
Arjen Poutsma 7e2726f400 Add remoteAddress() to ServerRequest
Issue: SPR-16681
2018-04-10 11:13:45 +02:00
Juergen Hoeller 66a3a82fb3 Avoid reference to HandlerMethod class in ServerErrorException
This breaks the package dependency cycle between web.server/web.method and makes ServerErrorException more generally applicable. Includes deprecation of the plain reason constructor variant, in favor of providing a Method or MethodParameter context (which MatrixVariableMethodArgumentResolver does now).
2018-04-01 00:21:15 +02:00
Rossen Stoyanchev d9e17a62ce Refine SyncInvocableHandlerMethod error handling
Ensure the error is wrapped as ServerErrorException
2018-03-31 12:06:24 -04:00
Rossen Stoyanchev 4454ffd2b1 Replace remaining use of block operator 2018-03-31 11:18:38 -04:00
Juergen Hoeller 6393e5ce0c Consistent Ordered.LOWEST_PRECEDENCE declarations for default order 2018-03-31 00:20:44 +02:00
Juergen Hoeller d553ddc5b3 Nullability refinements (based on IntelliJ IDEA 2018.1 introspection)
Issue: SPR-15756
2018-03-29 23:50:17 +02:00
igor-suhorukov ab96bb5428 Remove redundant check 2018-03-29 23:33:38 +02:00
Rossen Stoyanchev dd96c873e3 Improve docs on forwarded headers
Issue: SPR-16660
2018-03-29 16:11:01 -04:00
Juergen Hoeller 695bf2961f Consistent trace logging in PathResourceResolver
Issue: SPR-16616
2018-03-29 16:04:33 +02:00
igor-suhorukov 4aae6a6dda Use Map.forEach instead of manual Map.Entry iteration wherever possible SPR-16646 2018-03-28 01:09:03 +02:00
Rossen Stoyanchev 224d52e032 Refine RequestedContentTypeResolver contract
Consistently return "*/*" if no media types were requested rather than
an empty list. Existing code has to check for both in any case to see
if nothing was requested.

Issue: SPR-16624
2018-03-27 16:54:25 -04:00
Juergen Hoeller 9a27bc9b3e Upgrade to Jackson 2.9.5 and Hibernate Validator 6.0.9 2018-03-27 17:33:34 +02:00
Juergen Hoeller 98ad23bef8 Consistent logging of encoded path evaluation failure
Issue: SPR-16616
2018-03-27 17:04:59 +02:00
Juergen Hoeller 13356a7ee2 Consistent encoded path evaluation in reactive ResourceWebHandler and co
Issue: SPR-16616
2018-03-27 01:00:42 +02:00
Juergen Hoeller e3d0ef6015 Use Map.forEach instead of manual Map.Entry iteration wherever possible
Issue: SPR-16646
2018-03-27 00:38:32 +02:00
Rossen Stoyanchev 729d0d2796 Property handling of Void.class in WebClient retrieve()
Issue: SPR-16636
2018-03-23 22:21:06 -04:00
Arjen Poutsma c56317928f Add formData() and multipartData() to ServerRequest
Issue: SPR-16551
2018-03-23 10:00:30 +01:00
Christoph Dreis d3a0a8e007 Use Collection.removeIf() where possible (#1747)
Use Collection.removeIf() where possible

Issue: SPR-16622
2018-03-22 11:36:11 +01:00
Rossen Stoyanchev 94c525cdc8 Polish @RequestPart support 2018-03-21 18:26:13 -04:00
Juergen Hoeller ba5ef6456f WebFluxResponseStatusExceptionHandler for @ResponseStatus introspection
The web.server package is quite low-level and should not depend on web.bind in order to avoid a dependency cycle. Extracting the introspection of the ResponseStatus annotation into a WebFlux-level subclass resolves the cycle.

Issue: SPR-16567
2018-03-21 16:12:32 +01:00
Rossen Stoyanchev 0e28bee0f1 Clean duplicate separators in resource URLs
Most Servlet containers do this anyway, but not all, and not
consistently for forward and backslashes.

Issue: SPR-16616
2018-03-19 17:16:03 -04:00
Rossen Stoyanchev 313c6cef32 Polish 2018-03-16 16:18:05 -04:00
Arjen Poutsma b31d55dfce Deprecated ClientRequest.method in favor of ClientRequest.create
The former method clashed with the ClientRequest.method() getter.
2018-03-16 17:27:29 +01:00
Arjen Poutsma 04c2a2990d Provide simple way to create ClientResponse
This commit introduces ClientResponse.Builder, an easier way to create a
ClientResponse from an existing response, or from scratch.

Issue: SPR-16553
2018-03-16 17:27:29 +01:00
Juergen Hoeller 2096676b3f Upgrade to Apache Johnzon 1.1.7 and JRuby 9.1.16 2018-03-15 15:43:45 +01:00
Juergen Hoeller d4a8f76bf9 Consistent volatile access to running flag in Lifecycle implementations
Issue: SPR-16488
2018-03-15 15:17:55 +01:00
Juergen Hoeller 58011f71e9 Consistent assertions for template method result vs servlet registration 2018-03-14 18:55:50 +01:00
Sam Brannen 2575c26020 Clean up warnings and dead code in spring-webflux module 2018-03-11 13:44:27 +01:00