Sébastien Deleuze
5abe5e1167
Merge branch '6.1.x'
2024-10-18 11:15:00 +02:00
Sébastien Deleuze
5e28a25a30
Add a WebFlux integration test
...
This commit adds a WebFlux integration test with a request
body and a delayed response in order to test a use case
where we found a regression with Undertow 2.3.18.Final.
For now, Undertow 2.3.17.Final is still used.
Closes gh-33739
2024-10-18 11:13:09 +02:00
Sébastien Deleuze
4c44b91cf9
Speedup WebFlux tests by reducing the interval period
...
In WebFlux, we have various tests using a period of 50 or 100ms.
We should use a smaller value like 1ms to speedup tests.
Closes gh-33738
2024-10-18 11:12:08 +02:00
rstoyanchev
bdcfbee7df
Merge branch '6.1.x'
2024-10-16 12:11:23 +01:00
rstoyanchev
23656aebc6
Use Locale.ROOT consistently for toLower/toUpperCase
...
See gh-33708
2024-10-16 12:05:54 +01:00
rstoyanchev
a63cf06496
Update Javadoc snippets for static resource locations
...
Switch to FileUrlResource, the same as what is used get with
the "file:" prefix in webmvc and webflux config.
See gh-33712
2024-10-15 19:23:07 +01:00
rstoyanchev
789d7effa9
Assert static resource location
...
Closes gh-33712
2024-10-15 19:23:07 +01:00
rstoyanchev
7d3a3d35ce
Update valid path checks for double encoding
...
See gh-33687
2024-10-14 18:14:01 +01:00
rstoyanchev
fb7890d739
Update processPath for double encoding
...
See gh-33689
2024-10-14 18:13:55 +01:00
rstoyanchev
cff6db02b4
Merge branch '6.1.x'
2024-10-14 16:00:48 +01:00
rstoyanchev
1a0b577bfc
Do not support relative static resource paths
...
Closes gh-33687
2024-10-14 15:54:59 +01:00
rstoyanchev
3bfbe30a78
Normalize static resource path early
...
Rather than leaving it to the Resource implementation, and
potentially normalizing twice, we apply it once as part of the
initial processPath checks.
Closes gh-33689
2024-10-14 15:52:15 +01:00
Johnny Lim
1ec9a115a8
Replace RFC 7807 with RFC 9457 in documentation
...
See gh-33594
2024-10-08 13:32:33 +01:00
Juergen Hoeller
8ab965c981
Merge branch '6.1.x'
...
# Conflicts:
# spring-web/src/main/java/org/springframework/web/method/annotation/AbstractNamedValueMethodArgumentResolver.java
# spring-webflux/src/main/java/org/springframework/web/reactive/result/method/annotation/AbstractNamedValueArgumentResolver.java
2024-09-30 11:17:55 +02:00
Juergen Hoeller
95f181352f
Defensively check MethodParameter.getMethod() in KotlinDelegate
...
Closes gh-33609
2024-09-30 11:13:26 +02:00
Yanming Zhou
8941e2876e
Replace 'e.g.' with 'for example' in documentation and comments
...
Closes gh-33515
2024-09-26 14:11:17 +02:00
Sébastien Deleuze
a1613d1352
Merge branch '6.1.x'
2024-09-25 12:15:06 +02:00
Sébastien Deleuze
2ab0101b8a
Add coroutine context tests for WebClientExtensions
...
Closes gh-33548
2024-09-25 12:14:50 +02:00
Illia Sorokoumov
478aa250a0
Preserve coroutine context in WebClientExtensions
...
See gh-33548
2024-09-25 11:46:30 +02:00
rstoyanchev
c6fa180602
Extract shared resource handling utility methods
...
Closes: gh-33574
2024-09-20 19:25:12 +01:00
Johnny Lim
159e23730c
Fix Javadoc @since tags in JettyCoreRequestUpgradeStrategy
...
See gh-32097
Closes gh-33569
2024-09-20 11:34:39 +02:00
rstoyanchev
6120076437
Merge branch '6.1.x'
2024-09-20 09:33:09 +01:00
Andrey Popov
94c04821ff
Use correct method to check encoded resource path
...
Closes: gh-33568
2024-09-20 09:32:24 +01:00
Brian Clozel
6f09c21f05
Merge branch '6.1.x'
2024-09-18 11:21:03 +02:00
Brian Clozel
776811bdb8
Defer ExchangeFilterFunction execution in WebClient
...
Prior to this commit, the `DefaultWebClient` would execute the configured
`ExchangeFilterFunction` as the reactive pipeline is assembled during
subscription. This means that if imperative code is executed in a filter
function, it won't be aware of the current observation through the local
scope.
For example, when automatic context propagation is enabled for Reactor
operators, the logger MDC will not know about the current
traceId/spanId.
This commit ensures that client filter functions execution is deferred
during the actual client exchange.
Fixes gh-33559
2024-09-18 11:18:17 +02:00
Sam Brannen
16d8df8c2f
Merge branch '6.1.x'
2024-09-13 15:29:33 +02:00
Sam Brannen
b388ff60dd
Fix parameterized test display names and polishing
2024-09-13 15:26:56 +02:00
rstoyanchev
398e5528a1
Merge branch '6.1.x'
2024-09-12 08:40:58 +01:00
rstoyanchev
d86bf8b205
Align RouterFunctions resource handling
...
Closes: gh-33434
2024-09-12 08:33:37 +01:00
rstoyanchev
88ff5e1dcc
Remove unused imports
2024-09-10 13:36:16 +01:00
rstoyanchev
ebef599146
Fix checkstyle violations
2024-09-10 13:05:57 +01:00
rstoyanchev
19700d07b1
Quote ETag if not quoted in HttpHeaders#setETag
...
This aligns HttpHeaders with other places like ServletWebRequest and
DefaultWebExchange where an ETag is accepted as input.
It also allows us to remove quoting from places that delegate to
HttpHeaders#setETag since it now does that internally.
Closes gh-33412
2024-09-10 09:17:56 +01:00
rstoyanchev
1b26122e64
Polishing and minor refactoring
...
Update checks whether quoting is needed to be more complete
than what we've used so far, making sure the there is both
opening and closing quotes independent of each other.
See gh-33412
2024-09-10 08:56:01 +01:00
hyunmin0317
80b264ba82
Refactor eTag formatting into utility method
...
See gh-33412
2024-09-10 08:55:39 +01:00
Sam Brannen
d5f1e055d5
Merge branch '6.1.x'
2024-09-09 15:35:36 +02:00
Sam Brannen
4e1756d738
Polishing
2024-09-09 15:34:00 +02:00
rstoyanchev
d2b25c0378
Merge branch '6.1.x'
2024-09-09 11:56:21 +01:00
rstoyanchev
5c1ab7ecd5
Polishing contribution
...
Closes gh-33498
2024-09-09 11:55:15 +01:00
yfoelsin
7655329463
Set status code on DefaultRenderingBuilder for RedirectView
...
See gh-33498
2024-09-09 11:54:50 +01:00
rstoyanchev
7aa25e083a
Merge branch '6.1.x'
2024-08-28 18:59:47 +03:00
rstoyanchev
186deb777f
Update deprecation notices on rawStatusCode
...
Mark for removal where not marked, and set to 7.0
consistently as the target for removal.
See gh-33440
2024-08-28 18:49:49 +03:00
rstoyanchev
57cb8c7abf
Restore rawStatusCode methods
...
Revert methods removed in 7df2e2a8d2
.
See gh-33440
2024-08-28 18:12:26 +03:00
Sam Brannen
d749d2949d
Use new features from JUnit Jupiter 5.11
...
This commit primarily migrates to the new argumentSet() feature but also
applies additional polishing to our use of parameterized tests.
See gh-33395
2024-08-16 13:48:19 +02:00
Simon Baslé
bf5e218b35
Add support for headers in `@HttpExchange`
...
On the client side, supports `name=value` pairs. Placeholders in values
are resolved by the `embeddedValueResolver`.
On the server side, additionally supports `name` and `!name` syntax.
Closes gh-33309
2024-08-09 18:02:16 +02:00
rstoyanchev
b61eee7fb0
Support cross-parameter validation
...
Closes gh-33271
2024-08-09 18:53:30 +03:00
rstoyanchev
062c18a81d
Add DataBuffer management in fragment rendering
...
See gh-33194
2024-08-08 16:25:03 +03:00
rstoyanchev
8e2b27e5d8
WebFlux support for SSE with multiline fragments
...
See gh-33194
2024-08-08 16:25:03 +03:00
rstoyanchev
b734156f32
Update WebFlux fragment stream rendering
...
Thymeleaf has its own special handling for SSE that gets in the way
of fragment rendering. This is why we need to set the response
content-type before streaming, and then pass text/html to the
View for rendering each fragment.
See gh-33194
2024-08-08 16:25:02 +03:00
rstoyanchev
f5ed1b8f6d
Refactoring in ViewResolutionResultHandler
...
See gh-33194
2024-08-08 16:25:02 +03:00
rstoyanchev
6e55e78b22
WebFlux support for SSE Fragment stream
...
See gh-33194
2024-07-24 15:34:13 +01:00