Commit Graph

608 Commits

Author SHA1 Message Date
Rossen Stoyanchev 19dc981685 Path prefixes for groups of controllers
Issue: SPR-16336
2018-06-07 18:18:42 -04:00
Rossen Stoyanchev 72b1d4c648 Remove explicit references to Reactor Netty version
...now that 0.8 is also listed in the Reactor bom.

Issue: SPR-16387
2018-06-06 14:35:54 -04:00
Rossen Stoyanchev 3acb96efd0 CachingResourceResolver varies by known codings only
Issue: SPR-16381
2018-06-04 23:30:35 -04:00
Rossen Stoyanchev 010352163b Eliminate the need for Encoder#getContentLength
Issue: SPR-16892
2018-06-04 15:48:47 -04:00
Sebastien Deleuze f2ee18493f Make RouterFunctionDsl extensible
Issue: SPR-16897
2018-06-04 15:35:25 +02:00
Rossen Stoyanchev a3216432b5 Polish
Issue: SPR-16387
2018-05-31 15:38:30 -04:00
Violeta Georgieva ffbc75ae47 Upgrade to Reactor Netty 0.8
Issue: SPR-16387
2018-05-31 15:37:39 -04:00
Juergen Hoeller f3e860e8f1 Resource handler tests expect status 404 for directory in jar file
Issue: SPR-16832
2018-05-30 00:31:35 +02:00
Juergen Hoeller 69f14a2038 ClassPathResource.isReadable() checks InputStream (for jar directories)
Resource.isReadable() is defined to semantically imply exists() now.

Issue: SPR-16832
2018-05-29 21:47:33 +02:00
Juergen Hoeller 8593fec22c Avoid ConstantConditions warnings suppression (plus related polishing)
Issue: SPR-15756
2018-05-29 21:47:10 +02:00
Arjen Poutsma 8c30b8e628 Fix parent path variables in nested route functions
This commit fix an issue where path variables in a nested parent
RouterFunction were not committed to the request attributes.

Issue: SPR-16868
2018-05-29 15:48:31 +02:00
Rossen Stoyanchev 2acf91a438 Polish 2018-05-26 09:24:23 -04:00
Rossen Stoyanchev d77797f42c Improve readability of Body[Inserters|Extractors] 2018-05-25 13:32:00 -04:00
Rossen Stoyanchev 85e8634810 Properly initialize URI/Matrix vars w/ urlDecode=false
Issue: SPR-16867
2018-05-24 15:08:39 -04:00
Rossen Stoyanchev 82480a7908 Update docs on WebClient filters 2018-05-24 07:16:54 -04:00
Rossen Stoyanchev b472d192f4 Improve support for caching encoded resources
The key in CachingResourceResolver now includes the "Accept-Encoding"
request header cleaned to exclude "*", "identity", and parameters, and
also sorted alphabetically.

For encoded resources the response now includes a response header with
"Vary: Accept-Encoding".

Issue: SPR-16381
2018-05-23 09:17:21 -04:00
Rossen Stoyanchev 9274de390a Polish resource handling tests 2018-05-23 09:17:21 -04:00
Rossen Stoyanchev f121aa5e31 Immutable Resource[Resolver|Transformer]Chains
Issue: SPR-16862
2018-05-23 09:17:21 -04:00
Rossen Stoyanchev 5207672b3f Configurable support for static resource encodings
The new EncodedResourceResolver is a generalized version of
GzipResourceResolver that can be configured to support different
content codings, by "br" and "gzip".

GzipResourceResolver is now deprecated.

Issue: SPR-16381
2018-05-23 09:17:21 -04:00
Rossen Stoyanchev 1f8476aaf3 Add missing @param 2018-05-21 21:09:29 -04:00
Stephane Nicoll 36f8d49c4a Polish 2018-05-19 10:32:25 +02:00
Rossen Stoyanchev 192c7a5627 WebSession to WebSocketSession attribute passing
This commit makes it possible to pass attributes from the WebSession of
a handshake request to the WebSocketSession, by configuring a
Predicate<String> on HandshakeWebSocketService.

Issue: SPR-16212
2018-05-18 21:32:46 -04:00
Rossen Stoyanchev 9074828478 Add attributes to WebFlux WebSocketSession
Issue: SPR-16212
2018-05-18 21:32:46 -04:00
Juergen Hoeller 285eb94a03 Upgrade to Hibernate Validator 6.0.10 2018-05-18 22:22:12 +02:00
Juergen Hoeller 6710291bbd Polishing 2018-05-18 22:21:33 +02:00
Rossen Stoyanchev ade2eab169 Polish WebFlux WebSocket docs
Issue: SPR-16820
2018-05-17 10:02:54 -04:00
Arjen Poutsma b03905e2b0 Improve toString for filtered router function
Issue: SPR-16829
2018-05-17 12:32:57 +02:00
Rossen Stoyanchev 543f190239 Expand WebFlux docs with WebSocketHandler examples
Issue: SPR-16820
2018-05-16 21:30:31 -04:00
Rossen Stoyanchev 4ff4d5a181 Allow client-side use of BodyExtractors#toFormData
Issue: SPR-16804
2018-05-16 10:41:50 -04:00
Rossen Stoyanchev 18854ee544 Polish: simplify ControllerMethodResolver initialization 2018-05-16 10:03:57 -04:00
Arjen Poutsma 7424ca5790 Improve toString for query param and path extension predicates
Issue: SPR-16829
2018-05-16 11:14:21 +02:00
Rossen Stoyanchev 3af5f00ee7 UnsupportedMediaType[Status]Exception reports body type
Issue: SPR-16805
2018-05-14 23:16:36 -04:00
Rossen Stoyanchev 395792b302 Produces media types cleared prior to error handling
Issue: SPR-16318
2018-05-14 23:16:36 -04:00
Rossen Stoyanchev 6cf6d8834c List OPTIONS in OPTIONS responses for @RequestMapping
Issue: SPR-16513
2018-05-14 09:05:03 -04:00
Rossen Stoyanchev 23001a6c3d Update WebFlux RequestPart tests
Issue: SPR-16621
2018-05-14 09:03:14 -04:00
Rossen Stoyanchev 5cee607f28 WebFlux @RequestPart support for List and Flux arguments
The resolver now supports List<T>, Flux<T>, and List<Part>.

Issue: SPR-16621
2018-05-11 18:38:29 -04:00
Rossen Stoyanchev 15182b29a4 Add MockWebSession for use with MockServerWebExchange
Issue: SPR-16772
2018-05-11 10:53:28 -04:00
Rossen Stoyanchev 7f954ebc32 Inject UriComponentsBuilder relative to webapp root
Issue: SPR-16813
2018-05-11 09:52:02 -04:00
Rossen Stoyanchev 4da43de7e1 Remove individual detection of forwarded headers
This commit removes all places where forwarded headers are checked
implicitly, on an ad-hoc basis.

ForwardedHeaderFilter is expected to be used instead providing
centralized control over using or discarding such headers.

Issue: SPR-16668
2018-05-11 09:31:39 -04:00
Rossen Stoyanchev eef592d901 Add builder to MockServerWebExchange
Issue: SPR-16772
2018-05-10 15:16:13 -04:00
Rossen Stoyanchev 1aadf2c3a6 Refine compareTo for param and header conditions
Issue: SPR-16674
2018-05-08 18:12:51 -04:00
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