- 18 10月, 2018 1 次提交
-
-
由 Brian Clozel 提交于
This commit harmonizes the `HeadersAdapter` implementations across all supported servers with regards to the `get(Object key)` contract; some server implementations are not sticking to a `Map`-like contract and return empty `List` instead of `null` when a header is not present. This also fixes the `size()` implementations to reflect the number of header keys, as some implementations consider multiple values for the same header as different entries. Issue: SPR-17396
-
- 17 10月, 2018 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-17393
-
- 16 10月, 2018 3 次提交
-
-
由 Sebastien Deleuze 提交于
As discussed in KT-25165, from a Kotlin POV enum constructors have no parameter, this is an "implementation detail" required for running on the JVM, so it seems relevant to skip Kotlin reflection in that case and just delegate to Java reflection. Issue: SPR-16931
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Tomcat and Jetty integration tests were moved out of spring-messaging a very long time ago (before 4.0), but the dependencies remained unnoticed until now.
-
- 15 10月, 2018 7 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-16391
-
由 Spring Buildmaster 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-17318
-
由 Juergen Hoeller 提交于
Issue: SPR-16391
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-17250
-
由 Juergen Hoeller 提交于
Issue: SPR-17374
-
- 13 10月, 2018 5 次提交
-
-
由 Tomasz Nurkiewicz 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-17239
-
由 Juergen Hoeller 提交于
Issue: SPR-17358 Issue: SPR-8891
-
由 Rossen Stoyanchev 提交于
Rather than formatting the expected value, and be susceptible to minor formatting differences (e.g. 01 vs 1 for day of month), parse the actual header value leniently with HttpHeaders and compare time values. Issue: SPR-17330
-
由 Rossen Stoyanchev 提交于
-
- 12 10月, 2018 13 次提交
-
-
由 Stephane Nicoll 提交于
* pr/1991: Fix deprecated property in MBeanExporter documentation
-
由 Christian Kulpa 提交于
Closes gh-1991
-
由 Juergen Hoeller 提交于
Issue: SPR-17373
-
由 Juergen Hoeller 提交于
Issue: SPR-17320
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Includes jarjar upgrade since jarjar 1.3 fails to properly relocate Objenesis 3.0 classes into org.springframework.objenesis package. Issue: SPR-17372
-
由 Juergen Hoeller 提交于
Issue: SPR-17371
-
由 Juergen Hoeller 提交于
Issue: SPR-17371
-
由 陈灵敏 提交于
Issue: SPR-17364
-
由 Rossen Stoyanchev 提交于
If the content has not been consumed, cause it to be produced, and wait for a certain amount of time before giving up, so the raw content can be made available. This can occur when: 1) In a mock server scenario the Flux representing the client request content is passed directly to the mock server request, but is never consumed because of an error before the body is read. 2) Test obtains FluxExchangeResult (e.g. for streaming) but instead of consuming the Flux, it calls getResponseBodyContent() instead. Issue: SPR-17363
-
由 Rossen Stoyanchev 提交于
Extract a common delegate class to share between the request and the to wiretap a Publisher and record and buffer its data. Preparation for SPR-17363.
-
由 Rossen Stoyanchev 提交于
-
由 Stephane Nicoll 提交于
-
- 11 10月, 2018 9 次提交
-
-
由 Brian Clozel 提交于
This commit adds special processing of some HTTP response headers in Jetty and Tomcat; they both consider some headers like "Content-Length" as specific and require explicit calls on the `HttpServletResponse` itself on top of setting the HTTP response header. Issue: SPR-17250
-
由 Arjen Poutsma 提交于
SPR-17367
-
由 Brian Clozel 提交于
This commit avoids copying HTTP headers when mutating an HTTP request. Instead, we're now unwrapping the `ReadOnlyHttpHeaders` (which is most likely backed by the native request headers). Issue: SPR-17250
-
由 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
-
由 volkovandr 提交于
-
由 Brian Clozel 提交于
Preparing for Californium-SR1
-
由 Juergen Hoeller 提交于
Includes JSON-P 1.1.3.
-
由 Juergen Hoeller 提交于
Issue: SPR-17358
-
由 Rossen Stoyanchev 提交于
The chain is initialized once and re-used vs creating the "next" chains on every request.
-
- 10 10月, 2018 1 次提交
-
-
由 Stephane Nicoll 提交于
-