1. 02 12月, 2015 2 次提交
  2. 15 11月, 2015 1 次提交
  3. 12 11月, 2015 1 次提交
  4. 15 10月, 2015 1 次提交
  5. 01 7月, 2015 1 次提交
  6. 30 6月, 2015 3 次提交
  7. 12 5月, 2015 1 次提交
  8. 11 5月, 2015 1 次提交
  9. 04 5月, 2015 1 次提交
  10. 01 4月, 2015 1 次提交
  11. 14 3月, 2015 1 次提交
  12. 13 3月, 2015 3 次提交
    • B
      Fix InputStream caching in ContentCachingReqWrapper · 151e96ca
      Brian Clozel 提交于
      Prior to this commit, the ContentCachingRequestWrapper would immediately
      consume the wrapped request's InputStream when asked for the cached
      content; that caused several issues:
      
      * the request body was read in memory even if it wasn't yet consumed by
      the application, leading to inefficiencies.
      * when requesting the InputStream, an empty InputStream was returned
      since the original was already read.
      
      This case only happened for form POSTs requests.
      
      This commit makes sure that the wrapper does not alter the request
      expected behavior:
      
      * when getting the inputstream, it is wrapped in order to cache its
      content
      * when getting request parameters, the request body is cached and its
      inputstream is consumed, as expected
      
      Issue: SPR-12810
      151e96ca
    • R
      Support comma-separated X-Forwarded-Port · a522fa36
      Rossen Stoyanchev 提交于
      Issue: SPR-12813
      a522fa36
    • R
      5c463a16
  13. 10 3月, 2015 1 次提交
  14. 06 3月, 2015 1 次提交
  15. 19 2月, 2015 2 次提交
  16. 12 2月, 2015 1 次提交
  17. 10 2月, 2015 1 次提交
    • R
      Add fromHttpRequest to UriComponentsBuilder · 4a423e50
      Rossen Stoyanchev 提交于
      Before this change, detection of X-Forwarded-* headers was only built
      into ServletUriComponentsBuilder.
      
      This change adds a new method for creating a UriComponentsBuilder from
      an existing HttpRequest. This is equivalent to the fromUri method +
      X-Forwarded-* header values.
      4a423e50
  18. 09 2月, 2015 2 次提交
    • B
      Revisit empty body response support in HTTP client · 0225a777
      Brian Clozel 提交于
      Prior to this commit, HTTP responses without body (response status 204
      or 304, Content-Length: 0) were handled properly by RestTemplates. But
      some other cases were not properly managed, throwing exceptions for
      valid HTTP responses.
      
      This commit better handles HTTP responses, using a response wrapper that
      can tell if a response:
      
      * has no message body (HTTP status 1XX, 204, 304 or Content-Length:0)
      * has an empty message body
      
      This covers rfc7230 Section 3.3.3.
      
      Issue: SPR-8016
      0225a777
    • B
      Avoid loss of body content in AbstractRequestLoggingFilter · 4550b4a2
      Brian Clozel 提交于
      Prior to this commit, the `ContentCachingRequestWrapper` class would
      cache the response content only if the reponse would be consumed using
      its InputStream. In case of a Form request, Spring MVC consumes the
      response using the `getParameter*` Servlet API methods. This causes the
      cached content to never be written.
      
      This commit makes the `ContentCachingResponseWrapper` write the request
      body to the cache buffer by using the `getParameter*` API, thus avoiding
      those issues.
      
      Issue: SPR-7913
      4550b4a2
  19. 31 12月, 2014 1 次提交
  20. 29 12月, 2014 1 次提交
    • S
      Allow default settings of a custom HttpClient to apply · 71783c5d
      Stephane Nicoll 提交于
      Previously the default settings of a custom HttpClient were always
      ignored since a RequestConfig instance was always set no matter if
      some customizations were applied or not.
      
      This commit keeps an internal RequestConfig object instance that is
      only initialized if the user applies a customization. If he does not, the
      default settings of the HttpClient are used as it should.
      
      Note that if the HttpComponents API exposed the default RequestConfig
      of a given HttpClient, we would be able to merge our customizations with
      the one specified by the client. Unfortunately, such API does not exist
      and the "defaultSettingsOfHttpClientLostOnExecutorCustomization" test
      illustrates that limitation.
      
      Issue: SPR-12540
      71783c5d
  21. 24 12月, 2014 2 次提交
    • R
      Improve @SessionAttributes support during redirect · ea05e0b1
      Rossen Stoyanchev 提交于
      Before this change attributes listed with @SessionAttributes would not
      be saved in the session when there was a redirect and the controller
      method declared a parameter of type RedirectAttributes.
      
      This change ensures it's the "default" model that is always the one
      checked for @SessionAttributes under all circumstances since
      RedirectAttributes is really only meant to provide String values to
      insert into or append to the the redirect URL.
      
      Issue: SPR-12542
      ea05e0b1
    • R
      Polish ModelAndViewContainer and update tests · ea2943fe
      Rossen Stoyanchev 提交于
      ea2943fe
  22. 23 12月, 2014 1 次提交
  23. 22 12月, 2014 3 次提交
    • S
      Customize connection request timeout · aafdcecf
      Stephane Nicoll 提交于
      Prior to this commit it was not possible to easily customize the
      connection request timeout used by the HttpClient. Both
      `HttpComponentsClientHttpRequestFactory` and
      `HttpComponentsClientHttpRequestFactoryTests` have been updated to
      support a `connectionRequestTimeout` property.
      
      Issue: SPR-12166
      aafdcecf
    • S
      Polish upgrade to HttpComponents 4.3 · 24b82746
      Stephane Nicoll 提交于
      Polish fbe60512 to make explicit the fact that a null RequestConfig
      can be used to force the defaults of the current HttpClient.
      
      Issue: SPR-11113
      24b82746
    • S
      Upgrade HttpComponentsHIRE to HttpComponents 4.3 · fbe60512
      Stephane Nicoll 提交于
      Previously, HttpComponentsHttpInvokerRequestExecutor was not compatible
      with the new API of HttpComponents 4.3. Specifically, it is not possible
      to update the socket and read timeouts on the HttpClient itself anymore.
      
      We actually already updated HttpComponentsClientHttpRequestFactory for a
      similar problem in SPR-11442: if we detect an older HttpClient
      implementation, we update the timeout directly on the client. If that's
      not the case, we keep the value in the factory itself and use it when a
      new HttpRequest needs to be created.
      
      This commit also uses the new API to create a default HttpClient and
      therefore requires HttpComponents 4.3. As mentioned above, it is still
      possible to use deprecated HttpClient instances against this executor.
      
      Issue: SPR-11113
      fbe60512
  24. 09 12月, 2014 1 次提交
  25. 07 12月, 2014 1 次提交
  26. 06 12月, 2014 2 次提交
  27. 05 12月, 2014 2 次提交
    • J
      ControllerAdvice basePackages specifically refer to actual packages (avoiding... · d1f89685
      Juergen Hoeller 提交于
      ControllerAdvice basePackages specifically refer to actual packages (avoiding accidental prefix matches with other packages)
      
      Issue: SPR-12509
      d1f89685
    • B
      Better empty response body support in RestTemplate · 98870251
      Brian Clozel 提交于
      Prior to this change, RestTemplate returned an empty response body if:
      
      * HTTP return status 204 or 304
      * Content-length header equals 0
      
      This change adds a new condition for this, better supporting RFC7230
      section 3.4, for connections that are closed without response body:
      
      * No Content-length header
      * No Transfer-encoding: chunked header value
      * a Connection: close header value
      
      See SPR-7911 for previous efforts in that space.
      
      Issue: SPR-8016
      98870251
  28. 04 12月, 2014 1 次提交