Phillip Webb
b220d94cc2
Never use parenthesis for single lambda arguments
...
Update all lambdas that take a single argument so that parenthesis
are never used.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
5cedd0d5d4
Consistently use tabs rather than spaces
...
Update code that has accidentally used spaces instead of tabs.
Also remove all trailing whitespace.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0b53c1096a
Always use 'this.' when accessing fields
...
Ensure that `this.` is used consistently when accessing class
fields.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
eeebd51f57
Use consistent class design
...
Update all classes so that inner classes are always last. Also
ensure that utility classes are always final and have a private
constructor and make exceptions final whenever possible.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
0ad0f341bd
Don't use single letter catch variables
...
Update existing catch blocks to ensure that `ex` is always used
in preference to `e` or `t` as the variable name.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e9d1b39aff
Apply consistent copyright header
...
Add copyright header to `package-info.java` files and fix a few
malformed headers on existing java files.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
c3a17dfd47
Ensure all files end with a newline
...
Update all files to ensure that they always end with a new line.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Phillip Webb
e0480f75ac
Fix javadoc checkstyle issues
...
Fix checkstyle violations for javadoc.
Issue: SPR-16968
2018-06-28 10:28:44 +02:00
Napster
8aa6e5bfea
Undertow WebSocket sessions use shared ByteBufferPool
...
Issues: SPR-16957
2018-06-25 17:46:25 -03:00
Rossen Stoyanchev
7ccd2b024d
Refine logging for async requests
...
Issue: SPR-16898
2018-06-25 14:42:29 -03:00
Rossen Stoyanchev
900bc8a2e3
Logging improvements for WebFlux
...
Issue: SPR-16898
2018-06-22 22:44:24 -04:00
Brian Clozel
4a26f93a0d
WebClient writes Content-Length for Mono bodies
...
In SPR-16892, the `EncoderHttpMessageWriter` has been improved to write
`"Content-Length"` HTTP response headers if the response body is of type
`Mono` (i.e. the actual content length is easily accessible without
buffering a possibly large response body). That change was relying on
the fact that the server side is using a `ChannelSendOperator` to delay
the writing of the body until the first signal is received.
This strategy is not effective on the client side, since no such channel
operator is used for `WebClient`. This commit improves
`EncoderHttpMessageWriter` and delays, for `Mono` HTTP message bodies
only, the writing of the body so that we can write the
`"Content-Length"` header information once we've got the body resolved.
Issue: SPR-16949
2018-06-19 11:51:45 +02:00
Rossen Stoyanchev
03c305136d
Fix failing tests
2018-06-18 20:20:32 -04:00
Rossen Stoyanchev
afa45950ff
Polish ExchangeFilterFunction[s]
2018-06-13 17:14:49 -04:00
Rossen Stoyanchev
86c861516d
Accept Predicate instead of HandlerTypePredicate
...
Issue: SPR-16336
2018-06-08 15:32:07 -04:00
Rossen Stoyanchev
19dc981685
Path prefixes for groups of controllers
...
Issue: SPR-16336
2018-06-07 18:18:42 -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
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