Commit Graph

620 Commits

Author SHA1 Message Date
Juergen Hoeller
18ce8564e2 Polishing 2019-03-07 18:27:02 +01:00
Juergen Hoeller
24c6392e1a Upgrade to SLF4J 1.7.26, H2 1.4.198, OkHttp 3.13.1, WebJars Locator 0.37 2019-03-06 15:21:23 +01:00
Juergen Hoeller
af1691cbba Upgrade to Hibernate Validator 5.4.3 and 6.0.15
Includes Apache HttpClient 4.5.7 and Jetty 9.4.15.
2019-02-22 14:42:38 +01:00
Juergen Hoeller
0dd87e8339 Upgrade to Tomcat 8.5.37 and Hibernate Validator 6.0.14
Includes WebJars Locator 0.36, OkHttp 3.12.1, Apache Johnzon 1.1.11.
2019-01-08 18:45:52 +01:00
Juergen Hoeller
8de86b7fb3 Revised backport version 5.0.11
Issue: SPR-17410
Issue: SPR-17433
2018-12-17 17:55:54 +01:00
Juergen Hoeller
7377764d02 Polishing 2018-12-12 12:40:14 +01:00
Juergen Hoeller
a9b453d79f Polishing 2018-12-11 11:14:23 +01:00
Juergen Hoeller
cf31f020a2 Upgrade to Hibernate Validator 6.0.13 and EclipseLink 2.7.3
Also includes Hibernate ORM 5.1.16 for integration tests.
2018-11-24 15:12:02 +01:00
Juergen Hoeller
02616fbabd Upgrade to Kotlin 1.2.71, OkHttp 3.12, FreeMarker 2.3.28
Also includes Apache HttpClient 4.5.6 and HttpAsyncClient 4.1.4.
2018-11-24 14:44:57 +01:00
Juergen Hoeller
3d7e373e5a Polishing
(cherry picked from commit 77ab88b144)
2018-11-23 19:12:30 +01:00
Juergen Hoeller
e2b74e6943 Polishing 2018-11-22 17:44:29 +01:00
Juergen Hoeller
5382260f30 Client/ServerRequest defensively accesses internal attribute map
Issue: SPR-17486
2018-11-22 17:43:53 +01:00
Juergen Hoeller
e6c979606c Nullability fine-tuning based on IntelliJ IDEA 2018.3 inspection
Issue: SPR-15540

(cherry picked from commit bf272b0b21)
2018-11-22 17:43:13 +01:00
Rossen Stoyanchev
f73a5222f1 Ensure client response is drained with onStatus hook
Issue: SPR-17473
2018-11-08 22:33:37 -05:00
Juergen Hoeller
e28a995ab7 Consistent check for Void.class in DefaultClientResponse
Issue: SPR-16636
2018-10-27 15:19:55 +02:00
Brian Clozel
2d14bd7066 Configure ResourceUrlProvider in WebFlux
Prior to this commit, no `ResourceUrlProvider` was configured
in WebFlux (no bean was contributed by the WebFlux infrastructure).
Also, several `ResourceTransformer` instances that extend the
`ResourceTransformerSupport` base class need a `ResourceUrlProvider`
to resolve absolute URLs when rewriting resource URLs. At this point,
no `ResourceUrlProvider` was configured and they could only resolve
relative URLs.

This commit contributes a new `ResourceUrlProvider` to the WebFlux
configuration; this bean can be reused by the WebFlux infrastructure and
application code.

This also automatically configure this shared `ResourceUrlProvider`
instance on the resource chain where needed.

Issue: SPR-17433
(Cherry-picked from fc957e95bb)
2018-10-26 14:35:01 +02:00
Juergen Hoeller
2acfb2e0ff Polishing 2018-10-26 11:23:42 +02:00
Juergen Hoeller
3ceb05f63c Upgrade to Jackson 2.9.7, Netty 4.1.30, Tomcat 8.5.34, Undertow 1.4.26
Also includes Apache Johnzon 1.1.10 and JRuby 9.1.17.
2018-10-25 17:39:47 +02:00
Brian Clozel
3b7c0fc1a1 Fix absolute paths when transforming resources
Prior to this commit, `ResourceTransformerSupport.toAbsolutePath`
would call `StringUtils.applyRelativePath` in all cases. But this
implementation is prepending the given path even if the relative path
starts with `"/"`.

This commit skips the entire operation if the given path is absolute,
i.e. it starts with `"/"`.

Issue: SPR-17432
(Cherry-picked from 2146e13787)
2018-10-25 17:35:26 +02:00
Rossen Stoyanchev
36510cf808 Server adapters release buffers on error/cancel
Review and update Servlet and Undertow adapters to release any data
buffers they be holding on to at the time of error or cancellation.

Also remove onDiscard hooks from Reactor and Undertow request body.
For Reactor we expect it to be handled. For Undertow there isn't
any Reactor Core upstream for the callback to be useful.

Issue: SPR-17410
2018-10-23 20:56:08 -04:00
Rossen Stoyanchev
bf4d00cb62 Upgrade to Reactor Bismuth snapshots
Towards SR13 to confirm fix for SPR-17306.
2018-10-23 15:49:09 -04:00
dmrachkovskyi
842297699d Defer obtaining argument resolver default value
Issue: SPR-17338
2018-10-05 13:52:28 -04:00
Juergen Hoeller
94ae933122 Upgrade to Rhino 1.7.10 and Apache Johnzon 1.1.9
Includes reordering of web dependency declarations.
2018-09-14 14:29:57 +02:00
Juergen Hoeller
92228f9e64 Fix recent javadoc errors
Issue: SPR-17174
2018-08-16 19:24:38 +02:00
Juergen Hoeller
d8d04d82c1 Polishing 2018-08-09 01:41:45 +02:00
Juergen Hoeller
f3184a0878 Polishing 2018-08-09 00:49:54 +02:00
Juergen Hoeller
b87ee4ca32 ConcurrentModel.addAttribute(String, Object) ignores null value
Issue: SPR-17141

(cherry picked from commit 34ddb88851)
2018-08-07 21:08:18 +02:00
Juergen Hoeller
08b5921fff Polishing 2018-08-02 17:45:46 +02:00
Juergen Hoeller
f9307897b6 Polishing
(cherry picked from commit 2474c48749)
2018-08-02 17:18:08 +02:00
Juergen Hoeller
77e75fdf87 Avoid synthesizable annotation creation for @Bean/@Scope on scanning
Includes consistent (non-)use of AnnotationUtils/AnnotatedElementUtils.

Issue: SPR-16933
2018-08-01 12:18:10 +02:00
Juergen Hoeller
fd75600c26 Polishing 2018-07-31 21:37:40 +02:00
Juergen Hoeller
91fa2ed0d4 Initialize pre-filled HashMaps with large enough capacity
Empty Maps are preferably initialized without capacity (not initializing them at all or lazily initializing with default capacity when needed).

Issue: SPR-17105

(cherry picked from commit 4a147d26fc)
2018-07-30 22:33:04 +02:00
Rossen Stoyanchev
5f96d7c46c Add notes on future deprecation of the RestTemplate
Issue: SPR-16993
2018-07-27 08:43:26 -04:00
Juergen Hoeller
93ef169c5c Polishing 2018-07-25 14:40:31 +02:00
Brian Clozel
407bd96cf3 ResponseEntityResultHandler overwrites headers
Prior to this commit, controller handlers (regular and exception
handlers as well) would not overwrite existing HTTP response headers on
the exchange. This would lead to situations where Content-Type values
set during the initial handling phase would not be overwritten when
handling an error later on.

This commit aligns the implementation of that result handler on the
Spring MVC one in that regard.

Issue: SPR-17082
(Cherry-picked from 195f3f07e7)
2018-07-24 22:23:52 +02:00
Juergen Hoeller
4f9a18f5aa Order setter for DefaultSimpUserRegistry
Issue: SPR-17023
2018-07-24 18:56:52 +02:00
Juergen Hoeller
0c44b5224f Polishing
(cherry picked from commit dd4468a)
2018-07-24 16:34:56 +02:00
Juergen Hoeller
192113de60 Correctly determine and propagate validation hints to DataBinder
Issue: SPR-17073

(cherry picked from commit 3c65c17)
2018-07-21 12:34:55 +02:00
Brian Clozel
58f58e404e Avoid null signals when resolving handler arguments
Prior to this commit, resolving an argument for a WebFlux controller
that's missing from the request and not required by the handler would
throw a NullPointerException in some cases.

This involves the conversion of the parameter (a `String` parameter type
might not trigger this behavior) and sending a `null` within a reactive
stream, which is illegal per the RS spec.

We now rely on a `Mono.justOrEmpty()` to handle those specific cases.

Issue: SPR-17050
(Cherry-picked from a7f97a1669)
2018-07-18 14:48:06 +02:00
Juergen Hoeller
eb3254d2a9 Polishing 2018-07-06 15:18:47 +02:00
Juergen Hoeller
ea534b6820 Polishing 2018-06-29 20:07:53 +02:00
Juergen Hoeller
9a20ec9284 Polishing 2018-06-28 18:13:40 +02:00
Juergen Hoeller
4be6bcae74 Polishing 2018-06-28 17:30:55 +02:00
Juergen Hoeller
a631af80c1 Polishing
(cherry picked from commit 40efcc9)
2018-06-28 16:42:14 +02:00
Napster
f83a01e573 Undertow WebSocket sessions share ByteBufferPool
Issues: SPR-16957
2018-06-25 17:59:34 -03:00
Brian Clozel
d1c9401dc2 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
(Cherry-picked from 4a26f93a0d)
2018-06-19 11:52:26 +02:00
Rossen Stoyanchev
24acae1195 Polish ExchangeFilterFunction[s] 2018-06-13 17:15:47 -04:00
Brian Clozel
afcc430481 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
(Cherry-picked from 417354da8a)
2018-06-11 16:02:11 +02:00
Rossen Stoyanchev
7bfd683816 Eliminate the need for Encoder#getContentLength
Issue: SPR-16892
2018-06-04 16:01:48 -04:00
Juergen Hoeller
79adffd214 Upgrade to Hibernate Validator 6.0.10, RxJava 2.1.14, Gson 2.8.5 2018-05-30 11:59:57 +02:00