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
Juergen Hoeller
9c36b53833
Upgrade to JAXB 2.3.0.1, Aalto XML 1.1, Rome 1.10
2018-06-11 22:01:51 +02:00
Brian Clozel
417354da8a
Remove dependency management noise from POMs
...
Prior to this commit, the generated POMs for Spring Framework modules
would contain unneeded/harmful information from the Spring Framework
build:
1. The BOM imports applied to each module by the dependency
management plugin, for example for Netty or Reactor Netty.
Spring should not export that opinion to its POMs.
2. The exclusion of "org.slf4:jcl-over-slf4j" from *all* dependencies,
which made the POMs much larger than necessary and suggested to
developers that they should exclude it as well when using all those
listed dependencies. In fact, only Apache Tiles currently brings that
transitively.
This commit removes that information from the POMs.
The dependencyManagement Gradle plugin is disabled for POM generation
and we manually resolve the dependency versions during the generation
phase.
The Gradle build is streamlined to exclude "org.slf4:jcl-over-slf4j"
only when necessary.
Issue: SPR-16893
2018-06-11 15:57:54 +02: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
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
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
Juergen Hoeller
2a3f90dc7b
Upgrade to Hibernate ORM 5.2.15 and Hibernate Validator 6.0.8
2018-03-09 09:40:12 +01:00
igor-suhorukov
d89f9af22d
parentheses should be removed from a single lambda input parameter when its type is inferred
2018-03-08 21:55:45 +01:00
igor-suhorukov
0c45c4c6a3
lamdbas containing only one statement should not nest this statement in a block
2018-03-08 21:49:04 +01:00
Juergen Hoeller
139dc1d373
Polishing (collapsed if checks, consistent downcasts, refined javadoc)
2018-03-08 18:11:57 +01:00
igor-suhorukov
0f7485b01d
Polish: reorder the modifiers to comply with the Java Language Specification.
2018-03-08 17:57:47 +01:00
Rossen Stoyanchev
27815847b1
content-length support in EncoderHttpMessageWriter
...
EncoderHttpMessageWriter checks explicitly for Mono publishers and sets
the content length, if it is known for the given data item.
Issue: SPR-16542
2018-03-06 19:04:02 -05:00
igor-suhorukov
129530f792
Polish
...
Closes gh-1715
2018-03-03 12:12:15 +01:00
Rossen Stoyanchev
9352e3d047
Add ClientRequest attribute for URI template
...
Issue: SPR-16537
2018-03-01 17:06:24 -05:00
igor-suhorukov
83300c4b27
Polish: follow naming convention
2018-03-01 00:22:29 +01:00
igor-suhorukov
8080f56db8
Polish: "@Override" should be used on overriding and implementing methods
2018-03-01 00:15:18 +01:00
igor-suhorukov
7bce04c06c
Polish: combine catches block with same body
2018-02-27 12:51:28 +01:00
igor-suhorukov
49fd724d8f
Polish: String function use should be optimized for single characters
2018-02-25 20:48:47 +01:00
Rossen Stoyanchev
9c55dd5961
Additional shortcut with charset in WebSocketMessage
2018-02-25 14:41:13 -05:00
Juergen Hoeller
0ef9568c06
Upgrade to OkHttp 3.10 (as well as RxJava 2.1.10 and Caffeine 2.6.2)
2018-02-25 15:38:56 +01:00
Juergen Hoeller
3531c104b0
Prefer Collections.addAll call with array over Set.addAll(Arrays.asList)
2018-02-25 00:21:39 +01:00
Juergen Hoeller
a5cbf5fe24
Consistent use of Collection.toArray with zero-sized array argument
...
Includes consistent use of ClassUtils.toClassArray (as non-null variant)
Issue: SPR-16523
2018-02-22 11:29:46 +01:00
Juergen Hoeller
0de36d2883
Consistent HttpMethod identity comparisons
2018-02-18 22:01:22 +01:00
Juergen Hoeller
d7cab23e6d
Consistent use of StringUtils.toStringArray
...
(cherry picked from commit 6d11b40 )
2018-02-16 20:49:17 +01:00
Juergen Hoeller
8d3264f680
Prefer List.sort(Comparator) over Collections.sort(List, Comparator)
2018-02-16 10:23:18 +01:00
Andy Wilkinson
52dfc4ebc4
Align spring-webflux's Webjars Locator dependency with spring-webmvc
2018-02-15 00:58:17 +01:00
igor-suhorukov
7826567df6
Polish: lamdbas containing only one statement should not nest this statement in a block
2018-02-14 01:22:01 +01:00
Juergen Hoeller
99662bc702
Polishing
2018-02-13 23:32:10 +01:00
igor-suhorukov
45e520ed86
Polish: remove unused private fields, remove empty operator
2018-02-13 23:00:18 +01:00
Rossen Stoyanchev
1908080d5c
Test for disconnected client detection
...
Issue: SPR-16494
2018-02-13 14:58:10 -05:00
Rossen Stoyanchev
73095955bf
Refine logging in ExchangeFunctions
...
Notably do not log error signal since we are letting that propagate.
Also improve logging messages vs relying on the log operator.
Issue: SPR-16484
2018-02-12 15:56:04 -05:00
igor-suhorukov
0ee505b73e
Polish: assertion arguments should be passed in the correct order,
...
use assertNull instead of assertEquals(null, value),
declare delta as double value in assertEquals
2018-02-10 17:17:28 +01:00
igor-suhorukov
6ea0af3540
Polish: Lambdas should be replaced with method references
2018-02-10 12:09:46 +01:00
Stephane Nicoll
991eb4858e
Update copyright header
2018-02-09 10:16:58 +01:00
igor-suhorukov
e381514b07
Collection.isEmpty() should be used to test for emptiness
...
Closes gh-1670
2018-02-09 10:11:44 +01:00
igor-suhorukov
4c888d0f32
Polish
...
Closes gh-1669
2018-02-09 10:10:05 +01:00
Rossen Stoyanchev
1653a32a04
Stabilize Flux.interval emissions in integration tests
...
After this commit the use of interval in tests is combined with
take(n).onBackpressureBuffer(n) to ensure emissions don't fail if the
fixed rate is exceeded (e.g. on slow CI server).
Tests that verify N number of items followed by verifyOnComplete()
should set the number of emissions to N.
Tests that verify N number of items followed by thenCancel() should
set the number of buffered to an arbitrary number greater than N.
2018-02-06 11:01:19 -05:00
Arjen Poutsma
609f173ebc
StringDecoder shouldn't chop off strings randomly
...
Issue: SPR-16337
2018-02-02 15:59:21 +01:00
Juergen Hoeller
c5a33d62dd
TypeVariablesVariableResolver compares variables by full equality again
...
Issue: SPR-16456
2018-02-02 12:41:43 +01:00
Juergen Hoeller
7f96827ade
Polishing
2018-02-02 11:34:03 +01:00
sdeleuze
b6c78452b2
Update and improve script templating documentation
...
Issue: SPR-16447
2018-01-31 17:57:41 +01:00
sdeleuze
b2681e1f4a
Add ViewResolverRegistry#scriptTemplate in WebFlux
...
Issue: SPR-16431
2018-01-31 10:38:08 +01:00
sdeleuze
d02e4fb545
Add Vary:Access-Control-Request-Method/Headers CORS headers
...
This commit adds these 2 Vary headers in addition to the existing
Origin one to avoid caching of Access-Control-Request-Method and
Access-Control-Request-Headers headers which can be an issue
when allowed methods or headers are unbounded and only the
requested method or headers are returned in the response.
Issue: SPR-16413
2018-01-30 17:00:32 +01:00
sdeleuze
32f6ccece8
Add WebFlux support for Smile streaming
...
The commit brings following changes:
- Move getDecodableMimeTypes() to AbstractJackson2Decoder
- Move getEncodableMimeTypes() to AbstractJackson2Encoder
- Add support for application/stream+x-jackson-smile
- Avoid streaming line separator when Smile encoder is used
- Use double null token in Jackson2Tokenizer to identify documents
Issue: SPR-16151
2018-01-29 18:56:25 +01:00
Rossen Stoyanchev
00b95b10a8
Docs: result handling and view resolution
...
Issue: SPR-16393
2018-01-26 22:14:14 -05:00
Rossen Stoyanchev
fbde97f302
Default order 0 for ServerResponseResultHandler
...
Issue: SPR-16420
2018-01-26 17:06:01 -05:00
Juergen Hoeller
91e6274b7d
Upgrade to Apache HttpClient 4.5.5 and Tomcat 8.5.27
2018-01-22 22:11:00 +01:00
Juergen Hoeller
61579ffe7b
Polishing
2018-01-22 21:34:44 +01:00
Juergen Hoeller
9d0e62ef68
Javadoc format and related polishing
2018-01-22 11:43:21 +01:00
Arjen Poutsma
0befc60c8f
Renamed DataBufferUtils/DataBufferFactory.compose to join
...
Issue: SPR-16365
2018-01-22 10:51:07 +01:00
Arjen Poutsma
c53c8bfc5a
Set 304 status on ServerResponse when ETag/LastModified match
...
This commit checks the Etag/LastModified headers on the incoming
request, and sets a 304 Not Modified status with no body when they
match, by delegating to ServerWebExchange.checkNotModified.
Issue: SPR-16348
2018-01-18 11:34:38 +01:00
Arjen Poutsma
c211e3998b
Polishing
2018-01-18 11:34:38 +01:00
Arjen Poutsma
61d330f805
Javadoc
2018-01-18 11:34:38 +01:00
Juergen Hoeller
ea5f8f5a7c
Consistently handle NoClassDefFoundError in BeanUtils and related places
...
Issue: SPR-16369
2018-01-17 20:24:57 +01:00
Juergen Hoeller
9623cdec48
Functional response builders allow for non-standard HTTP status codes
...
Issue: SPR-16366
2018-01-14 17:45:58 +01:00
Juergen Hoeller
4c9ed0d87e
Polishing
2018-01-12 18:24:00 +01:00