Rossen Stoyanchev
de18d96413
Validate contextPath in RedirectView
...
Issue: SPR-16752
2018-04-23 15:26:18 -04:00
Brian Clozel
e9a8a5065b
Disable HTTP Range support for InputStreamResource
...
Prior to this commit, the `AbstractMessageConverterMethodProcessor`
would fail to convert `InputStreamResource` to `ResourceRegion` as
expected, since the content length cannot be read without consuming the
stream. This is enforced by the `HttpRange` class.
Now the method processor would still try to output HTTP range response
headers to provide range support information. This step is using the
resource content length and reads the input stream, leading to
exceptions such as "IllegalStateException: InputStream has already been
read".
This commit improves the return type detection and excludes early
`InputStreamResource` return types. With those types, HTTP range support
is now completely disabled.
Issue: SPR-16754
2018-04-23 18:39:05 +02:00
sdeleuze
1d6540b1c2
Enable KotlinScriptTemplateTests after KT-18833 fix
2018-04-23 14:49:22 +02:00
Juergen Hoeller
7ee6130680
Revised reference example for linkable controller method signature
...
Issue: SPR-16710
2018-04-12 14:45:11 +02:00
Juergen Hoeller
f28a5d0cf7
Proper exception for controller method return types that do not work with MvcUriComponentsBuilder (e.g. final classes)
...
Includes direct use of ControllerMethodInvocationInterceptor for return type Object, avoiding the attempt to generate an Object subclass.
Issue: SPR-16710
2018-04-11 16:05:54 +02:00
Sam Brannen
aba882af4c
Clean up warnings in spring-webmvc
2018-04-04 14:04:54 +02:00
Sam Brannen
2c648379ab
Delete dead code in spring-webmvc
2018-04-04 14:01:24 +02:00
Juergen Hoeller
8a9321652d
Refined javadoc
2018-03-31 23:07:08 +02:00
Juergen Hoeller
912c270f2b
Polishing
2018-03-31 17:49:21 +02:00
Juergen Hoeller
6393e5ce0c
Consistent Ordered.LOWEST_PRECEDENCE declarations for default order
2018-03-31 00:20:44 +02:00
Rossen Stoyanchev
b1048975d2
Minor updates based on PR#1058
...
The original repo no longer exists:
https://github.com/spring-projects/spring-framework/pull/1058
2018-03-30 13:36:20 -04:00
Rossen Stoyanchev
240d6f52c9
Replaces rather than prepend contextPath
...
Issue: SPR-16650
2018-03-29 18:17:29 -04:00
Rossen Stoyanchev
dd96c873e3
Improve docs on forwarded headers
...
Issue: SPR-16660
2018-03-29 16:11:01 -04:00
Juergen Hoeller
b165475eb6
Polishing
2018-03-29 16:05:52 +02:00
Juergen Hoeller
695bf2961f
Consistent trace logging in PathResourceResolver
...
Issue: SPR-16616
2018-03-29 16:04:33 +02:00
igor-suhorukov
e6020ed377
avoid unnecessary autoboxing
2018-03-28 23:48:12 +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
f3994467c4
Refine ContentNegotiationStrategy 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:19 -04:00
Juergen Hoeller
98ad23bef8
Consistent logging of encoded path evaluation failure
...
Issue: SPR-16616
2018-03-27 17:04:59 +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
Juergen Hoeller
f59ea610df
Simplified separator check within isInvalidEncodedPath
...
Issue: SPR-16616
2018-03-27 00:23:36 +02:00
Juergen Hoeller
c1405ef140
Polishing
2018-03-21 16:12:42 +01:00
Juergen Hoeller
91b803a231
Consistent encoded path evaluation in ResourceHttpRequestHandler and co
...
Issue: SPR-16616
2018-03-21 12:02:13 +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
Juergen Hoeller
f8588e364a
AcceptHeaderLocaleResolver keeps language match among supported locales
...
Issue: SPR-16599
2018-03-16 14:17:50 +01:00
Juergen Hoeller
58011f71e9
Consistent assertions for template method result vs servlet registration
2018-03-14 18:55:50 +01:00
Brian Clozel
ed7684d2b2
Don't implicitly check preconditions on PUT requests
...
Prior to this commit, the `HttpEntityMethodProcessor` would check HTTP
conditions on non-safe requests (i.e. not GET/HEAD). This would prevent
Controllers from returning `ResponseEntity` containing response headers
with updated values of `"Last-Modified"` or `ETag` once the resource has
been updated.
This commit avoids those checks for non GET/HEAD requests - this code
can still be leveraged from Controllers themselves using
`ServletWebRequest::checkNotModified` methods.
Issue: SPR-15780
2018-03-08 19:43:01 +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
568c93457a
Improve ResponseBodyEmitter error handling
...
After send error, ignore calls to complete or completeWithError by the
application in the same thread (e.g. try-catch block), to avoid a
competing with an error callback from servlet container during which
the same action is taken.
Issue: SPR-16548
2018-03-07 15:25:31 -05:00
Rossen Stoyanchev
e20652009d
Improve docs on SseEmitter onComplete/onError
...
Issue: SPR-16548
2018-03-07 14:59:18 -05:00
Juergen Hoeller
934a995acb
Strong recommendation for OpenPDF 1.0.5 instead of iText 2.1.7
...
Issue: SPR-16107
(cherry picked from commit b70d400
)
2018-03-07 17:08:45 +01:00
Juergen Hoeller
f57fcdee3c
Polishing
2018-03-07 15:49:58 +01:00
Patrick0308
6f4d25a6e6
Polish "Use Java 8 forEach method on Map"
2018-03-07 15:39:58 +01:00
Brian Clozel
6d26e61ac7
Guard against invalid paths in ResourceUrlProvider
...
This commit makes sure that no `StringIndexOutOfBoundsException` is
thrown when `getForRequestUrl` is called with a URL that's shorter than
the expected context path.
Issue: SPR-16526
2018-03-05 15:26:56 +01:00
Juergen Hoeller
cd4f0935c5
Revised deprecation markers
2018-03-01 23:43:06 +01:00
Rossen Stoyanchev
36cfdf68b1
Correct log level
...
Issue: SPR-16528
2018-03-01 15:52:59 -05:00
Juergen Hoeller
bfddbbe731
Polishing
2018-03-01 01:39:06 +01: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
d1ccecd021
Polish: to get rid unnecessary array creation
2018-02-27 23:37:54 +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
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
igor-suhorukov
2be4985b8f
Polish: anonymous inner classes containing only one method should become lambdas,
...
use getOrDefault instead of ternary operator
2018-02-16 09:38:19 +01:00
Rossen Stoyanchev
9801afb85d
Fix compile error
...
Update places that call UriUtils to catch the right exception that is
now raised as a result of using Charet.forName.
2018-02-15 15:59:21 -05:00
Juergen Hoeller
cd8a1bdb8b
AcceptHeaderLocaleContextResolver leniently handles invalid header value
...
Also falls back to language-only match among its supported locales now.
Issue: SPR-16500
Issue: SPR-16457
2018-02-15 13:14:49 +01:00