- 13 11月, 2018 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-17086
-
- 12 11月, 2018 3 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-17486
-
由 Juergen Hoeller 提交于
Issue: SPR-17486
-
- 10 11月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-17482
-
- 09 11月, 2018 2 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-17473
-
- 03 11月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 02 11月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 31 10月, 2018 3 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
In particular between reactive and non-reactive web variants, but also preparing for a messaing reactive variant.
-
由 Rossen Stoyanchev 提交于
This commit makes the 3 existing InvocableHandlerMethod types more consistent and comparable with each other. 1. Use of consistent method names and method order. 2. Consistent error formatting. 3. Explicit for loops for resolving argument values in webflux variant because that makes it more readable, creates less garabage, and it's the only way to bring consistency since the other two variants cannot throw exceptions inside Optional lambdas (vs webflux variant which can wrap it in a Mono). 4. Use package private HandlerMethodArgumentComposite in webflux variant in order to pick up the resolver argument caching that the other two variants have. 5. Polish tests. 6. Add missing tests for messaging variant.
-
- 26 10月, 2018 3 次提交
-
-
由 Brian Clozel 提交于
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
-
由 Juergen Hoeller 提交于
-
由 Vikash Tiwari 提交于
-
- 25 10月, 2018 1 次提交
-
-
由 Brian Clozel 提交于
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
-
- 23 10月, 2018 1 次提交
-
-
由 Brian Clozel 提交于
Issue: SPR-17420
-
- 20 10月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
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
-
- 18 10月, 2018 1 次提交
-
-
由 Arjen Poutsma 提交于
This commit changes the attributes stored under RouterFunctions.MATCHING_PATTERN_ATTRIBUTE and HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE from a String to a PathPattern, similar to what annotated controllers set. Issue: SPR-17395
-
- 11 10月, 2018 2 次提交
-
-
由 Arjen Poutsma 提交于
SPR-17367
-
由 Brian Clozel 提交于
Several benchmarks underlined a few hotspots for CPU and GC pressure in the Spring Framework codebase: 1. `org.springframework.util.MimeType.<init>(String, String, Map)` 2. `org.springframework.util.LinkedCaseInsensitiveMap.convertKey(String)` Both are linked with HTTP request headers parsing and response headers writin during the exchange processing phase. 1) is linked to repeated calls to `HttpHeaders.getContentType` within a single request handling. The media type parsing operation is expensive and the result doesn't change between calls, since the request headers are immutable at that point. This commit improves this by caching the parsed `MediaType` for the `"Content-Type"` request header in the `ReadOnlyHttpHeaders` class. This change is available for both Spring MVC and Spring WebFlux. 2) is linked to insertions/lookups in the `LinkedCaseInsensitiveMap`, which is the data structure behind `HttpHeaders`. Those operations are creating a lot of garbage (including a lot of `String` created by `toLowerCase`). We could choose a more efficient data structure for storing HTTP headers data. As a first step, this commit is focusing on Spring WebFlux and introduces `MultiValueMap` implementations mapped by native HTTP headers for the following servers: Tomcat, Jetty, Netty and Undertow. Such implementations avoid unnecessary copying of the headers and leverages as much as possible optimized operations provided by the native implementations. This change has a few consequences: * `HttpHeaders` can now wrap a `MultiValueMap` directly * The default constructor of `HttpHeaders` is still backed by a `LinkedCaseInsensitiveMap` * The HTTP request headers for the websocket HTTP handshake now need to be cloned, because native headers are likely to be pooled/recycled by the server implementation, hence gone when the initial HTTP exchange is done Issue: SPR-17250
-
- 10 10月, 2018 2 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-17326
-
- 05 10月, 2018 1 次提交
-
-
由 dmrachkovskyi 提交于
Issue: SPR-17338
-
- 04 10月, 2018 2 次提交
-
-
由 Arjen Poutsma 提交于
With this commit, we now make sure that the attributes are not cleared if they are same as the nested request. Issue: SPR-17304
-
由 Arjen Poutsma 提交于
-
- 03 10月, 2018 1 次提交
-
-
由 Sebastien Deleuze 提交于
In order to be able to leverage WebFlux configuration in a functional way, WebHttpHandlerBuilder and RouterFunctionMapping should leverage new ObjectProvider capabilities to get a sorted list of beans by type instead of using autowired containers. Issue: SPR-17327
-
- 02 10月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Switch to using the sendClose method available since Reactor Netty 0.8 vs explicitly sending a CloseWebSocketFrame. Related to SPR-17306, but does not address the root cause.
-
- 20 9月, 2018 2 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-17192
-
由 Rossen Stoyanchev 提交于
Issue: SPR-16228
-
- 18 9月, 2018 1 次提交
-
-
由 Brian Clozel 提交于
See: SPR-17054
-
- 17 9月, 2018 2 次提交
-
-
由 Arjen Poutsma 提交于
This commit stores the first matching path pattern in the attribute `RouterFunctions.MATCHING_PATTERN_ATTRIBUTE`. Issue: SPR-17098
-
由 Arjen Poutsma 提交于
This commit restores the attributes when either of the predicates in an AND/OR conjunction is false. Issue: SPR-17210
-
- 15 9月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
1. Helper method to eliminate duplication in formatting (de-)serialized values for logging introduced with prior commit #e62298. 2. Helper method for TRACE vs DEBUG logging with different details. Issue: SPR-17254
-
- 23 8月, 2018 2 次提交
-
-
由 Brian Clozel 提交于
This reverts commit 253ffd71.
-
由 Brian Clozel 提交于
Since the `initStrategies` method is there to be extended, the related attributes should be `protected` as well.
-
- 19 8月, 2018 1 次提交
-
-
由 Sam Brannen 提交于
Issue: SPR-17174
-
- 17 8月, 2018 2 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-17174
-
- 15 8月, 2018 1 次提交
-
-
由 Brian Clozel 提交于
This reverts commit 7e917335.
-