rstoyanchev
7da197de66
More updates for Data Binding doc restructuring
...
Closes gh-37228
2026-09-02 10:00:14 +01:00
rstoyanchev
495fd6b3a5
Polishing contribution
...
See gh-37099
2026-08-24 17:18:17 +01:00
rstoyanchev
82cf15c60f
ProtobufJsonEncoder actually supports streaming
...
Closes gh-37158
2026-08-24 16:48:48 +01:00
rstoyanchev
6dcdf19169
Polishing in Protobuf decoders
...
See gh-37147
2026-08-19 10:55:12 +03:00
rstoyanchev
76239d083b
Make getMessageBuilder in Protobuf decoders protected
...
Closes gh-37147
2026-08-19 10:52:35 +03:00
rstoyanchev
40ea92621d
Correct supported media types in ProtobufJsonEncoder
...
Closes gh-37154
2026-08-19 10:44:15 +03:00
rstoyanchev
b0149b842b
Polishing in Protobuf encoding support
...
See gh-37154
2026-08-19 10:44:15 +03:00
rstoyanchev
73f5ddddcd
Refactor maxInMemory limit handling for async XML parsing
...
The limit was previously enforced in XmlEventDecoder, because it is
what parses incoming buffers. However, the actual caching is in
Jaxb2Decoder, which holds on to XML events, but has no good way to
estimate their size.
After this commit XmlEventDecoder no longer enforces memory limits
for async parsing. It releases each buffer immediately anyway.
Instead XmlEventDecoder is only responsible to update the number
of bytes received via a new ReceivedByteTracker type while
Jaxb2XmlDecoder uses the same to perform limit and reset the
count depending on when it is aggregating XML events.
Closes gh-37031
2026-08-14 09:11:50 +02:00
rstoyanchev
675f25de72
Leading slash handling in UrlHandlerFilter
...
Closes gh-37030
2026-08-14 09:11:50 +02:00
rstoyanchev
692dbc9160
Apply ResourceHandlerUtils checks in XsltView
...
Closes gh-37029
2026-08-14 09:11:50 +02:00
rstoyanchev
8647e90bc7
Consistent maxPartSize check in PartEventHttpMessageReader
...
Closes gh-37028
2026-08-14 09:11:50 +02:00
rstoyanchev
b9379e33d5
Check viewName for special prefixes in UrlFilenameViewController
...
Closes gh-37027
2026-08-14 09:11:50 +02:00
rstoyanchev
a784dbe286
Ensure Payload release on early error in createHeaders
...
Closes gh-37026
2026-08-14 09:11:50 +02:00
rstoyanchev
3b492f3908
Return sameSite cookie value in Jetty response
...
Closes gh-37025
2026-08-14 09:11:50 +02:00
rstoyanchev
07cbd482a0
Add preflight handling in RouterFunctionWebHandler
...
Request predicates support preflight request matching based on the "would be"
request (e.g. target HTTP method) so the actual handler is not meant to be
invoked. That's the case only with a DispatcherHandler setup.
Closes gh-37024
2026-08-14 09:11:50 +02:00
rstoyanchev
dadd474d21
Update exception messages in HandshakeWebSocketService
...
Closes gh-37023
2026-08-14 09:11:50 +02:00
rstoyanchev
11bb7b54e5
Ignore an empty port
...
Closes gh-37117
2026-08-07 10:31:29 +03:00
rstoyanchev
70ca103b22
Polishing in UriComponentsTests
...
See gh-37117
2026-08-07 10:25:12 +03:00
rstoyanchev
719311f09b
Correct since tags
...
See gh-37090
2026-07-29 15:18:22 +03:00
rstoyanchev
b1d025d2c6
Update documentation on forwarded headers
...
See gh-37090
2026-07-27 12:46:43 +03:00
rstoyanchev
181a5d3403
Allow choice between Forwarded and X-Forwarded headers
...
This commit introduces a constructor argument to select whether
to use the standard "Forwarded" header or the "X-Forwarded-*"
alternative headers. A separate property to control support for
X-Forwarded-Prefix.
Closes gh-37090
2026-07-27 12:46:43 +03:00
rstoyanchev
0044c4c8a3
Improve remoteAddress check in TransportHandlingSockJsService
...
Closes gh-36904
2026-06-25 16:10:34 +01:00
rstoyanchev
6ac642e301
Remove closeLock from ConcurrentWebSocketSessionDecorator#checkSessionLimits
...
Closes gh-36909
2026-06-25 12:50:32 +01:00
rstoyanchev
11bdb43aad
Polishing in ConcurrentWebSocketSessionDecorator
...
See gh-36909
2026-06-25 12:50:32 +01:00
rstoyanchev
41b8f13e91
Fix checkStyleNoHttp errors
...
See gh-36893
2026-06-22 14:08:25 +01:00
rstoyanchev
167afd91be
Fix delegation in LifecyclePrintWriter
...
Closes gh-36885
2026-06-22 13:12:50 +01:00
rstoyanchev
12f9a5c2a5
Apply ResourceHandlerUtils to Groovy markup templates
...
Closes gh-36902
2026-06-22 11:57:12 +01:00
rstoyanchev
1a89363a5c
Restore host header initialization in StompBrokerRelayMessageHandler
...
Closes gh-36907
2026-06-22 11:35:38 +01:00
rstoyanchev
34a307d4a6
Improve requestUri handling in ReactorUriHelper
...
Closes gh-36893
2026-06-22 11:12:13 +01:00
rstoyanchev
0e4842062b
Polishing in ReactorUriHelper
...
See gh-36893
2026-06-22 11:06:43 +01:00
rstoyanchev
76089feeb4
Refine error handling in JettyWebSocketSession
...
Closes gh-36891
2026-06-22 10:42:51 +01:00
rstoyanchev
ad5bd67b31
Improve ambiguous preflight checks in AbstractHandlerMethodMapping
...
Closes gh-36903
2026-06-22 10:42:51 +01:00
rstoyanchev
0ee636af7f
Improve Javadoc of UrlFilenameViewController
...
Closes gh-36906
2026-06-22 10:42:51 +01:00
rstoyanchev
c64f2ee104
Disable assignment in DefaultSubscriptionRegistry
...
Closes gh-36924
2026-06-22 10:42:51 +01:00
rstoyanchev
5059bbd58e
Improve parameter-based content negotiation
...
Closes gh-36925
2026-06-22 10:42:51 +01:00
rstoyanchev
cc0ca1b6a5
Polishing in MappingContentNegotiationStrategy hierarchy and tests
...
See gh-36925
2026-06-22 10:42:51 +01:00
rstoyanchev
322eef2942
RfcParser rejects invalid IPv6 host
...
Fix gh-36787
2026-06-08 15:13:43 +02:00
rstoyanchev
45812cb9d0
Prefer Jackson XML codecs when present
...
Closes gh-36776
2026-06-05 14:36:05 +01:00
rstoyanchev
95bd3f7c67
Exclude Jackson XML from String encoding/decoding
...
Closes gh-36775
2026-06-05 14:36:05 +01:00
rstoyanchev
6fd45c118d
Polishing contribution
...
Closes gh-36650
2026-05-27 17:19:00 +01:00
rstoyanchev
4d98ff5dcf
Polishing in data binding docs
2026-05-15 13:50:57 +01:00
rstoyanchev
48262b8efe
Further polishing in docs on web binding
...
See gh-36803
2026-05-14 16:55:53 +01:00
rstoyanchev
ca32ac5e7f
Polishing in docs
...
See gh-36803
2026-05-14 16:41:59 +01:00
rstoyanchev
63ccc9d9cc
Restructure web binding documentation and refine guidance
...
Closes gh-36803
2026-05-14 16:36:27 +01:00
rstoyanchev
d72da90d3a
Avoid race in InMemoryWebSession
...
Closes gh-36742
2026-05-01 21:47:37 +01:00
rstoyanchev
bff9899905
Switch to JdkIdGenerator in AbstractWebSocketSession
...
Closes gh-36740
2026-05-01 21:47:26 +01:00
rstoyanchev
b3ef834ae6
Reliably detect broadcast messages
...
Closes gh-36662
2026-04-29 12:11:16 +01:00
rstoyanchev
a9d344b3ed
TransportHandlingSockJsService checks remoteAddress
...
Closes gh-36681
2026-04-29 12:11:16 +01:00
rstoyanchev
7052da4532
Add doOnDiscard in MultipartHttpMessageReader
...
Closes gh-36563
2026-04-16 21:15:09 +01:00
rstoyanchev
d4d49fd546
Make base classes for client requests public
...
AbstractBufferingClientHttpRequest and AbstractStreamingClientHttpRequest
Closes gh-36501
2026-03-31 14:11:17 +01:00
rstoyanchev
2dcd56bbaf
Polishing contribution
...
Closes gh-36514
2026-03-31 11:00:22 +01:00
rstoyanchev
ebe3b45743
Consistently log request details in ExchangeFunctions
...
Closes gh-36502
2026-03-31 11:00:22 +01:00
rstoyanchev
8817536e5a
Lower log level of cache miss in HandlerMappingIntrospector
...
See gh-36309
2026-03-19 09:10:43 +00:00
rstoyanchev
cdbaee11c1
Add PreFlightRequestFilter
...
Closes gh-36482
2026-03-19 09:10:04 +00:00
rstoyanchev
5168e3a38b
Polishing contribution
...
Closes gh-36400
2026-03-10 19:14:41 +00:00
rstoyanchev
77bc13dc8c
Polishing contribution
...
See gh-36325
2026-03-09 17:52:12 +00:00
rstoyanchev
ab9895b5a9
Polishing contribution
...
Closes gh-36325
2026-03-09 17:49:25 +00:00
rstoyanchev
cd0c26b6db
Update Javadoc on binding flag in ModelAttribute
...
Add clarification and mention primary use case.
2026-03-09 14:25:47 +00:00
rstoyanchev
06d4a8fc4b
Fix case sensitivity issue in ServletRequestHeadersAdapter
...
The RequestHeaderOverrideWrapper did not deduplicate in keySet()
across underlying headers and overrides.
A similar change in size() even if it was working correctly,
to align with keySet and make it more efficient.
Closes gh-36418
2026-03-06 16:51:27 +00:00
rstoyanchev
ccc6789cb5
Update docs for path API version resolver
...
See gh-36398
2026-03-05 17:21:43 +00:00
rstoyanchev
f73302a66e
Polishing contribution
...
Closes gh-36398
2026-03-05 17:12:13 +00:00
rstoyanchev
25bb264bd9
Polishing in ReactorNettyWebSocketClient
...
Also, remove local variables that should have been removed when
the corresponding, deprecated setters were removed in
2ed281f6a8 .
Closes gh-36370
2026-03-05 17:12:13 +00:00
rstoyanchev
ce2402a581
Link to Tomcat issue in ServletResponseHeadersAdapter
2026-03-05 17:12:13 +00:00
rstoyanchev
b83cb4a947
Make newRequest methods public
...
The methods to build a request in RestClientAdapter and WebClientAdapter
are now public to make it easier to create a custom adapter that wraps
the built-in ones and delegates for methods that can be the same.
Closes gh-36374
2026-02-25 12:43:19 +00:00
rstoyanchev
7e79d0e206
Polishing in DefaultRestClientTests
2026-02-25 12:43:19 +00:00
rstoyanchev
e58ba2c665
Simplify use of InputStream with RestClient
...
Closes gh-36380
2026-02-25 12:43:19 +00:00
rstoyanchev
b9a59853fa
Use case-insensitive comparator in HttpHeadersAssert
...
Closes gh-36349
2026-02-20 13:38:51 +00:00
rstoyanchev
d4b2a493f9
Fix duplicate header writing in ResponseBodyEmitterReturnValueHandler
...
Closes gh-36357
2026-02-20 10:45:22 +00:00
rstoyanchev
188cb9b24d
Update Javadoc of RestClient.Builder defaultStatusHandler
...
See gh-36248
2026-02-19 11:42:59 +00:00
rstoyanchev
e3568a3f0a
Fix generic return type support in HttpServiceMethod
...
Closes gh-36326
2026-02-18 17:27:02 +00:00
rstoyanchev
e106fc0434
Polishing in RestClientAdapterTests and WebClientAdapterTests
2026-02-18 17:27:02 +00:00
rstoyanchev
85c18caf25
Update docs on supported versions with baseline notation
...
Closes gh-36316
2026-02-18 11:33:08 +00:00
rstoyanchev
e5aac66157
ServletResponseHeadersAdapter checks contentType property
...
Issue gh-36334
2026-02-17 11:55:34 +00:00
rstoyanchev
d712ec3d49
Minor optimization in Tomcat header adapters
...
get method skips containsKey and instead checks if the enumeration
has elements, which should give the same behavior other than for
headers without values.
See gh-36334
2026-02-16 17:38:01 +00:00
rstoyanchev
5baa4fdd69
Further optimize Servlet header adapters
...
- Optimize get method for request headers
- Update keySet methods to use custom extension of AbstractSet
- Drop use of native Tomcat headers, which could be an issue for
request and response wrappers that override header methods.
The performance of Servlet adapters should be similar for the
commonly used methods, and it should be possible to optimize
further for the future in HttpHeaders (e.g. by adding a
set alternative to put), and requesting Servlet API refinements.
Closes gh-36334
2026-02-16 17:37:51 +00:00
rstoyanchev
9273a11a2c
Stub Servlet headers adapter methods not needed in HttpHeaders
...
See gh-36334
2026-02-16 17:37:27 +00:00
rstoyanchev
7ea11baff9
Pass-through handling of Servlet headers
...
See gh-36334
2026-02-16 17:37:09 +00:00
rstoyanchev
47a2e7059e
Optimal charset handling in AbstractHttpMessageConverter
...
Closes gh-36320
2026-02-13 12:39:03 +00:00
rstoyanchev
8fb119df1e
Determine validation groups in HandlerMethod
...
Closes gh-36274
2026-02-11 09:00:52 +00:00
rstoyanchev
1bb0fdda6b
Move validation group determination to ValidationAnnotationUtils
...
See gh-36274
2026-02-10 16:56:33 +00:00
rstoyanchev
6507367d10
Polishing contribution
...
Closes gh-36179
2026-02-10 15:28:54 +00:00
rstoyanchev
b227701473
Optimize RequestMappingInfo hashcode calculation
...
Precalculated hashcode makes sense for infos in the registry, but
matched infos created on the fly don't need it.
Closes gh-36279
2026-02-10 10:14:54 +00:00
rstoyanchev
e22b1648bf
Cache HandlerMethod with resolved bean if singleton
...
See gh-36278
2026-02-09 17:16:05 +00:00
rstoyanchev
78967d4bd6
Optimize version match
...
Closes gh-36276
2026-02-09 16:36:26 +00:00
rstoyanchev
1d2351c87b
Optimize single PathPattern match
...
Closes gh-36275
2026-02-09 16:33:22 +00:00
rstoyanchev
02dc4b6342
Avoid determineValidationGroups not necessary
...
There is no need to call determineValidationGroups if the method
itself doesn't require method validation.
See gh-36274
2026-02-09 15:52:58 +00:00
rstoyanchev
cb4b87cce2
Use headerFilter on SimpAnnotationMethodMessageHandler
...
See gh-36179
2026-02-06 17:13:11 +00:00
rstoyanchev
1d470fc375
Exposes headerFilter on SimpAnnotationMethodMessageHandler
...
Closes gh-36179
2026-02-06 17:08:50 +00:00
rstoyanchev
7fc619acdc
Polishing contribution
...
See gh-36179
2026-02-06 17:08:50 +00:00
rstoyanchev
db9045ae28
Polishing in CharBufferDecoder
2026-02-04 11:37:52 +00:00
rstoyanchev
7c2159fbe9
Polishing contribution
...
Closes gh-36225
2026-02-04 11:36:45 +00:00
rstoyanchev
79386b0e83
Fix unfinished edit from previous commit
...
See gh-36198
2026-01-28 12:27:09 +00:00
rstoyanchev
d1bfe03358
Update docs on trailing slash handling
...
Closes gh-36198
2026-01-28 12:21:33 +00:00
rstoyanchev
4bc9f68451
Update docs content types for ProblemDetail
...
Closes gh-36192
2026-01-28 12:21:33 +00:00
rstoyanchev
77c24b28b6
Polishing in ReactorClientHttpConnector
2026-01-26 10:51:00 +00:00
rstoyanchev
345fa51e77
Handle early exception from AsynchronousFileChannel#write
...
Closes gh-36184
2026-01-21 15:43:03 +01:00
rstoyanchev
4119ecc25b
Refine solution to clear Netty channel attribute
...
Closes gh-36158
2026-01-20 11:34:18 +00:00
rstoyanchev
9b95482557
ContentRequestMatchers supports HttpEntity multipart
...
Closes gh-36154
2026-01-19 17:05:16 +00:00
rstoyanchev
fe2113f5a3
Clear Netty channel attribute
...
Closes gh-36158
2026-01-16 17:21:27 +00:00
rstoyanchev
9f19b4074d
Exclude DataAccessException and MessagingException in DisconnectedClientHelper
...
Closes gh-36134
2026-01-14 11:44:43 +00:00