Commit Graph

2563 Commits

Author SHA1 Message Date
Rossen Stoyanchev
2b94205ba9 Update docs on multipart with RestTemplate
Replace docs on using MultipartBodyBuilder for the RestTemplate with
examples that show MultiValueMap. Originally the idea was to make
MultipartBodyBuilder accessible to the RestTemplate too, but with
support for async parts that's no longer a good fit.

Closes gh-23295
2019-07-19 10:43:50 +01:00
Rossen Stoyanchev
99c4a9eeba Filtering for nested ERROR dispatch
OncePerRequestFilter now has a doFilter method that allows separate
processing of nested ERROR dispatches. This is useful for filters
that wrap the request and response.

Closes gh-23196
2019-07-15 11:23:12 +01:00
Rossen Stoyanchev
235858e4e5 Exposes supported mime types in Jaxb2Decoder
Closes gh-23278
2019-07-13 11:00:43 +01:00
桂坤
81eb911c09 Fix typo in UrlPathHelper
See gh-23274
2019-07-11 09:54:03 +02:00
Sam Brannen
efab6eb55d Ignore empty entries when parsing MediaTypes and MimeTypes
Prior to Spring Framework 5.1.3, MimeTypeUtils.parseMimeTypes() and
MediaType.parseMediaTypes() ignored empty entries, but 5.1.3 introduced
a regression in that an empty entry -- for example, due to a trailing
comma in the list of media types in an HTTP Accept header -- would result
in a "406 Not Acceptable" response status.

This commit fixes this by filtering out empty entries before parsing
them into MimeType and MediaType instances. Empty entries are therefore
effectively ignored.

Fixes gh-23241
2019-07-07 12:39:46 +02:00
Rossen Stoyanchev
594c5806a6 Handle error in apply of writeFunction
Closes gh-23175
2019-06-21 14:15:14 +01:00
Sam Brannen
ad915f4a26 Document that Ordered is not supported for @ControllerAdvice beans
Closes gh-23172
2019-06-21 12:39:34 +03:00
Sebastien Deleuze
bcad276adb Fix Jackson documentation broken links
Closes gh-23153
2019-06-19 13:59:36 +02:00
Sam Brannen
d18d4d865e Update Javadoc for HtmlUtils regarding Apache Commons Text
Closes gh-23122
2019-06-14 14:48:24 +03:00
Juergen Hoeller
fc46abf0b7 Polishing 2019-06-12 18:04:06 +02:00
Juergen Hoeller
627d37f73b Thread-safe removal of destruction callbacks in web scopes
Closes gh-23117
2019-06-12 14:11:13 +02:00
Juergen Hoeller
4877736794 Polishing 2019-06-12 00:58:04 +02:00
Juergen Hoeller
7dc92aa05d Polishing 2019-06-11 20:57:27 +02:00
Juergen Hoeller
1956cb1e57 Defensive concurrent access to shared file extension data structures
Closes gh-23064
2019-06-11 20:57:17 +02:00
Rossen Stoyanchev
9f8148419f Separate "filtered" attribute for ERROR dispatch
Closes gh-22989
2019-06-07 16:07:56 -04:00
Ilya Lukyanovich
2ed81be831 Fix MockHttpServletRequest.setCookies to produce single cookie header
Prior to this commit, MockHttpServletRequest.setCookies() produced one
Cookie header per supplied cookie, resulting in multiple Cookie headers
which violates the specification.

This commit fixes this by ensuring that all cookie name-value pairs are
stored under a single Cookie header, separated by a semicolon.

Closes gh-23074
2019-06-06 17:13:21 +03:00
Rossen Stoyanchev
49e5c4dcf6 Polish MultipartBodyBuilder
Improve Javadoc
Consistently reject Publisher unless using asyncPart
Consistently set Content-Type when specified
2019-06-04 16:41:10 -04:00
Rossen Stoyanchev
4f05da7fed Support escape character in ContentDisposition
Closes gh-23077
2019-06-03 16:03:35 -04:00
Sebastien Deleuze
4523d01a50 Fix Javadoc for HttpHeaders#setContentLanguage
Closes gh-23051
2019-05-29 11:53:38 +02:00
Juergen Hoeller
8cd3daad0d Polishing 2019-05-21 00:15:40 +02:00
Juergen Hoeller
75d751d968 Polishing 2019-05-20 22:19:11 +02:00
Juergen Hoeller
4c334de850 Use Map.values() iteration within isMultipart check
Closes gh-22982
2019-05-20 17:17:51 +02:00
Rossen Stoyanchev
ffd7cffa14 Fix typo in HttpHeaders
Closes gh-22976
2019-05-15 16:42:07 -04:00
Rossen Stoyanchev
0274752fe9 Use singleOrEmpty to avoid upstream cancel
Closes gh-22952
2019-05-15 16:02:28 -04:00
Sebastien Deleuze
c8d49ed284 Fix EncoderHttpMessageWriter.isStreamingMediaType()
Closes gh-22936
2019-05-09 14:57:15 +02:00
Sam Brannen
59fdce1116 Fix bug in EncoderHttpMessageWriter.isStreamingMediaType() 2019-05-09 13:24:27 +02:00
Juergen Hoeller
190b751147 Support any HttpEntity implementing ResolvableTypeProvider
Closes gh-22931
2019-05-09 02:09:31 +02:00
Rossen Stoyanchev
6e0dfd6999 Check if Accept-Charset is present before adding it
Closes gh-22506
2019-05-08 09:40:32 -04:00
Arjen Poutsma
cdd346222c Add reference counting for UndertowDataBuffer
This commit adds proper reference counting to the UndertowDataBuffer.
2019-05-08 11:58:48 +02:00
Juergen Hoeller
053b95ceeb Refer to non-deprecated Jackson 2.5+ addMixIn method in javadoc 2019-05-07 02:06:40 +02:00
Juergen Hoeller
c841b62bb0 Consistent parameter retrieval across InvocableHandlerMethod variants
See gh-22900
2019-05-07 01:20:05 +02:00
Juergen Hoeller
3f85a7db1b Consistent exception naming across InvocableHandlerMethod variants
See gh-22900
2019-05-07 00:48:27 +02:00
Sebastien Deleuze
4b31feb243 Clarify Jackson2ObjectMapper.modules(ToInstall) semantics
Closes gh-22747
2019-05-06 22:09:56 +02:00
Juergen Hoeller
ea4a174583 Polishing 2019-05-03 18:10:41 +02:00
Juergen Hoeller
a7949ac84a Consistent use of StringUtils.hasLength(String) vs isEmpty(Object) 2019-05-03 17:29:14 +02:00
Juergen Hoeller
4e10735e8f MockHttpServletRequest restores default locale for empty accept header
Closes gh-22877
2019-05-03 14:08:12 +02:00
Juergen Hoeller
5b1b1bae37 Consistent use of try-with-resources for local resource closing 2019-05-03 00:11:47 +02:00
Juergen Hoeller
31c3b8a291 Avoid unguarded String concatenation for debug/trace logging
Closes gh-22874
2019-05-03 00:10:56 +02:00
Juergen Hoeller
e5e2d2d661 Polishing (includes minor performance refinements from master) 2019-04-26 16:51:18 +02:00
Rossen Stoyanchev
13c746ae9d Follow-up fix for #5b711a
Not only do we need to preserve Mono in writeWith in the base class
but also in ReactorServerHttpResponse where buffers are mapped.

See gh-22800
2019-04-17 13:18:01 -04:00
Rossen Stoyanchev
5b711a964b Pass Mono to Reactor Netty when feasible
Closes gh-22800
2019-04-16 20:52:19 -04:00
Rossen Stoyanchev
15b2fb1210 Polish
Replacing a couple of calls to Mono.fromCallable with Mono.just which
seems to work with doOnDiscard except when nested inside Flux.defer.
2019-04-16 20:52:19 -04:00
Rossen Stoyanchev
375090bb7c LeakAwareDataBuffer related fixes
Following on 3ebbfa2191 where the local
refCount was removed in favor of using the internal refCount of the
native data buffer, this commit ensures that LeakAwareDataBufferFactory
uses a PooledDataBufferFactory delegate by default.

There are also fixes for test issues with eager allocation uncovered by
these changes in StringDecoder and ResourceDecoder.
2019-04-16 20:52:19 -04:00
Rossen Stoyanchev
0109231d8e Ensure Jackson generator flushed
Closes gh-22771
2019-04-15 08:40:19 -04:00
Juergen Hoeller
b07d46da99 MockCookie compares attributes in case-insensitive manner
Closes gh-22786
2019-04-12 11:10:02 +02:00
Rossen Stoyanchev
28e206a946 Apply doOnDiscard for streaming mode
Use of Flux.just is problematic in that if the Flux is cancelled before
demand, the item may never be read, nor freed. Flux#just does not
even delegate cancellation signals.

Closes gh-22731
2019-04-09 22:30:26 -04:00
Rossen Stoyanchev
b11e7feff6 Polish during review of DataBuffer handling 2019-04-09 22:19:05 -04:00
Rossen Stoyanchev
bd956ed75a DataBuffer fixes in Protobuf codecs
Closes gh-22731
2019-04-09 17:00:26 -04:00
Juergen Hoeller
2835424f9d Jackson2Tokenizer creates fully configured DeserializationContext
Closes gh-22510
2019-04-09 17:59:10 +02:00
Juergen Hoeller
4ec9aff01d Polishing 2019-04-08 19:59:06 +02:00