1. 20 7月, 2015 2 次提交
  2. 17 7月, 2015 2 次提交
  3. 15 7月, 2015 1 次提交
  4. 14 7月, 2015 2 次提交
  5. 13 7月, 2015 2 次提交
    • J
      8fdbf428
    • S
      Avoid rejecting same-origin requests detected as CORS requests · 84138abf
      Sebastien Deleuze 提交于
      Browsers like Chrome or Safari include an Origin header for same-origin
      POST/PUT/DELETE requests, not only for cross-origin requests.
      
      Before this commit, these same-origin requests would have been detected
      as potential cross-origin requests, and rejected if the same-origin domain
      is not part of the configured allowedOrigins.
      
      This commit avoid to reject same-origin requests by reusing the logic
      introduced in Spring 4.1 for detecting reliably Websocket/SockJS
      same-origin requests with the WebUtils.isValidOrigin() method. This
      logic has been extracted in a new WebUtils.isSameOrigin() method.
      
      Issue: SPR-13206
      84138abf
  6. 10 7月, 2015 2 次提交
    • S
      Polish CORS support · 882fe129
      Sebastien Deleuze 提交于
      882fe129
    • S
      Introduce CorsFilter and CorsConfigurationMapping · cd9b3903
      Sebastien Deleuze 提交于
      This commit introduces the following changes:
       - The new CorsConfigurationMapping class allows to share the mapped
         CorsConfiguration logic between AbstractHandlerMapping and CorsFilter
       - In AbstractHandlerMapping, the Map<String, CorsConfiguration>
         corsConfiguration property has been renamed to corsConfigurations
       - CorsFilter allows to process CORS requests at filter level, using any
         CorsConfigurationSource implementation (for example
         CorsConfigurationMapping)
      
      Issue: SPR-13192
      cd9b3903
  7. 07 7月, 2015 4 次提交
  8. 06 7月, 2015 2 次提交
  9. 04 7月, 2015 1 次提交
  10. 01 7月, 2015 1 次提交
  11. 30 6月, 2015 4 次提交
  12. 29 6月, 2015 1 次提交
    • B
      Fix conditional requests support for HttpEntity · 39d689da
      Brian Clozel 提交于
      Prior to this commit, `HttpEntityMethodProcessor` would rely on
      `ServletWebRequest` to process conditional requests and with incoming
      `"If-Modified-Since"` / `"If-None-Match"` request headers.
      
      This approach is problematic since in that class:
      
      * response is wrapped in a `ServletServerHttpResponse`
      * this wrapped response does not write response headers right away
      * `ServletWebRequest.checkNotModified` methods can't apply their
      logic with incomplete response headers
      
      This solution adds some minimal code duplication and applies
      the conditional request logic within the Processor.
      
      A possible alternative would be to improve the
      `ServletServerHttpResponse$ServletResponseHttpHeaders` implementation
      with write methods - but this solution would only work for Servlet 3.x
      applications.
      
      Issue: SPR-13090
      39d689da
  13. 27 6月, 2015 1 次提交
  14. 26 6月, 2015 3 次提交
  15. 25 6月, 2015 1 次提交
    • S
      Call type aware canWrite() when using a GenericHttpMessageConverter · 289f35da
      Sebastien Deleuze 提交于
      This commit introduces the following changes:
       - In AbstractMessageConverterMethodProcessor, the type aware variant of
         canWrite() is now called when the converter implements
         GenericHttpMessageConverter.
       - The Javadoc has been updated in GenericHttpMessageConverter to make it clear
         that the type aware canRead() and canWrite() methods should perform the same
         checks than non type aware ones.
        - AbstractGenericHttpMessageConverter now implements default type aware
          canRead() and canWrite() methods than just call the non type aware variants.
          Due to this, if subclasses just override the non type aware variants,
          they still have the right behavior.
      
      Issue: SPR-13161
      289f35da
  16. 22 6月, 2015 1 次提交
    • S
      Make @ResponseBody method return type available for message converters · 31a5434e
      Sebastien Deleuze 提交于
      This commit adds canWrite() and write() methods to the
      GenericHttpMessageConverter interface. These are type aware variants
      of the methods available in HttpMessageConverter, in order to keep
      parametrized type information when serializing objects.
      
      AbstractMessageConverterMethodProcessor now calls those type aware
      methods when the message converter implements GenericHttpMessageConverter.
      
      AbstractJackson2HttpMessageConverter and GsonHttpMessageConverter uses
      these new methods to make @ResponseBody method return type available
      for type resolution instead of just letting the JSON serializer trying
      to guess the type to use from the object to serialize.
      
      Issue: SPR-12811
      31a5434e
  17. 20 6月, 2015 1 次提交
    • S
      Polish CORS support classes · de9f2787
      Sam Brannen 提交于
      - Simplified "check" algorithms in CorsConfiguration
      
      - Improved robustness of setter methods in CorsConfiguration in order to
        avoid attempts to modify immutable lists
      
      - Improved CORS documentation and fixed typo
      
      - Introduced constants in CorsConfiguration
      
      - Removed auto-boxing in CorsRegistration
      de9f2787
  18. 19 6月, 2015 1 次提交
  19. 18 6月, 2015 1 次提交
  20. 16 6月, 2015 5 次提交
    • R
      Add AsyncHandlerMethodReturnValueHandler · 210e10c6
      Rossen Stoyanchev 提交于
      Before this change HandlerMethodReturnValueHandler's were invoked in a
      specific order (type-based, annotation-based, custom). However handlers
      that deal with asynchronous return value handling need to always be
      considered first. This affects custom handlers in particular since they
      are normally ordered last.
      
      This change introduces an AsyncHandlerMethodReturnValueHandler
      sub-interface with a single method to determine if the return value is
      asynchronous and if it is to look for a matching handler only among
      those that are of type AsyncHandlerMethodReturnValueHandler.
      
      Issue: SPR-13083
      210e10c6
    • S
      Change default JSON prefix from "{} && " to ")]}', " · 81878335
      Sebastien Deleuze 提交于
      Issue: SPR-13078
      81878335
    • J
      Polishing · ce7cc79e
      Juergen Hoeller 提交于
      ce7cc79e
    • R
      Missing path variable is now a 500 error · 4b05bda0
      Rossen Stoyanchev 提交于
      Before this change a missing path variable value resulted in a 400
      error where in fact the error is due to a mismatch between the
      declared @PathVariable and the URI template, i.e. a 500 error.
      
      This change introduced a MissingPathVariableException as a sub-class
      of ServletRequestBindingException (the exception previously thrown)
      and results in a response status code of 500 by default.
      
      Issue: SPR-13121
      4b05bda0
    • S
      Allow default settings of a custom HttpAsyncClient to apply · 5236eb6b
      Stephane Nicoll 提交于
      This is a rework of 71783c5d for SPR-12540 for the async extension that
      was not merging the internal RequestConfig as it should.
      
      Issue: SPR-13125
      5236eb6b
  21. 15 6月, 2015 1 次提交
  22. 13 6月, 2015 1 次提交
    • S
      Polish @CrossOrigin · 2b339db5
      Sam Brannen 提交于
      - origin --> origins
      - method --> methods
      - constants are now actually constant (i.e., static final)
      2b339db5