- 21 5月, 2015 2 次提交
-
-
由 Stephane Nicoll 提交于
`BeanWrapperImpl` and `DirectFieldAccessor` are two `ConfigurablePropertyAccessor` implementations with different features set. This commit harmonizes the two implementations to use a common base class that delegates the actual property handling to the sub-classes: * `BeanWrapperImpl`: `PropertyDescriptor` and introspection utilities * `DirectFieldAccessor`: reflection on `java.lang.Field` Issues: SPR-12206 - SPR-12805
-
由 Rossen Stoyanchev 提交于
Issue: SPR-13035
-
- 20 5月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-12926
-
- 19 5月, 2015 4 次提交
-
-
由 Stephane Nicoll 提交于
Remove unused imports
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12893
-
由 Luciano Leggieri 提交于
This commit introduces support for OkHttp (http://square.github.io/okhttp/) as a backing implementation for ClientHttpRequestFactory and AsyncClientHttpRequestFactory. Issue: SPR-12893
-
由 Rossen Stoyanchev 提交于
After this change CorsProcessor has a single processRequest method and it also explicitly deals with a null CorsConfiguration, which for pre-flight requests results in a rejection while for simple requests results in no CORS headers added. The AbstractHandlerMapping now uses a LinkedHashMap to preserve the order in which global patterns are provided.
-
- 18 5月, 2015 2 次提交
-
-
由 Arjen Poutsma 提交于
-
由 Arjen Poutsma 提交于
-
- 16 5月, 2015 1 次提交
-
-
由 Sebastien Deleuze 提交于
This commit adds JavaConfig based global CORS configuration capabilities to Spring MVC. It is now possible to specify multiple CORS configurations, each mapped on a path pattern, by overriding WebMvcConfigurerAdapter#configureCrossOrigin(CrossOriginConfigurer). It is also possible to combine global and @CrossOrigin based CORS configuration. Issue: SPR-12933
-
- 15 5月, 2015 2 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12750, SPR-12942
-
由 Rossen Stoyanchev 提交于
This change introduces a strategy for expanding a URI template into a URI and makes it a property of the RestTemplate and AsyncRestTemplate so that they can be pre-configured with such a strategy. The DefaultUriTemplateHandler relies on UriComponentsBuilder internally and provides functionality equivalent to using the UriTemplate. A DefaultUriTemplateHandler can also be configured to parse the path of a URI template into path segments in order to allow expanding URI variables according to path segment encoding rules. Issue: SPR-12750
-
- 14 5月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12750
-
- 12 5月, 2015 2 次提交
-
-
由 Juergen Hoeller 提交于
(cherry picked from commit 9e925aa8)
-
由 Juergen Hoeller 提交于
(cherry picked from commit a8f75399)
-
- 11 5月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
-
- 10 5月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-11694
-
- 07 5月, 2015 2 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Sebastien Deleuze 提交于
Issue: SPR-12983
-
- 06 5月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Before this change AbstractHandlerMethodMapping used a map from Method to CorsConfiguration. That works for regular @RequestMapping methods. However frameworks like Spring Boot and Spring Integration may programmatically register the same Method under multiple mappings, i.e. adapter/gateway type classes. This change ensures that CorsConfiguraiton is indexed by HandlerMethod so that we can store CorsConfiguration for different handler instances even when the method is the same. In order for to make this work, HandlerMethod now provides an additional field called resolvedFromHandlerMethod that returns the original HandlerMethod (with the String bean name). This makes it possible to perform reliable lookups. Issue: SPR-11541
-
- 05 5月, 2015 3 次提交
-
-
由 Sam Brannen 提交于
-
由 Rossen Stoyanchev 提交于
CorsConfiguration now provides methods to check and determine the allowed origin, method, and headers according to its own configuration. This simplifies significantly the work that needs to be done from DefaultCorsProcessor. However an alternative CorsProcessor can still access the raw CorsConfiguration and perform its own checks. Issue: SPR-12885
-
由 Sebastien Deleuze 提交于
This commit adds CORS related headers to HttpHeaders and update DefaultCorsProcessor implementation to use ServerHttpRequest and ServerHttpResponse instead of HttpServletRequest and HttpServletResponse. Usage of ServerHttpResponse allows to avoid using Servlet 3.0 specific methods in order keep CORS support Servlet 2.5 compliant. Issue: SPR-12885
-
- 04 5月, 2015 3 次提交
-
-
由 Rossen Stoyanchev 提交于
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12960
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12956
-
- 24 4月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12296
-
- 20 4月, 2015 1 次提交
-
-
由 Sebastien Deleuze 提交于
Issue: SPR-12597
-
- 17 4月, 2015 1 次提交
-
-
由 Juergen Hoeller 提交于
Issue: SPR-12925
-
- 15 4月, 2015 2 次提交
-
-
由 Juergen Hoeller 提交于
-
由 Juergen Hoeller 提交于
Issue: SPR-12910
-
- 14 4月, 2015 2 次提交
-
-
由 Rossen Stoyanchev 提交于
The onFailure callback and future.get() occur in different threads so this change adds a latch to ensure we have both before asserting. Issue: SPR-12887
-
由 Rossen Stoyanchev 提交于
AbstractHttpMessageConverter now tries to call getDefaultContentType with the actual value to be converted to see if that will result in a more concrete mediat type than application/octet-stream. Issue: SPR-12894
-
- 10 4月, 2015 1 次提交
-
-
由 Arjen Poutsma 提交于
RuntimeExceptions thrown from FutureAdapter.adapt() should be wrapped in an ExecutionException, not thrown as is. Issue: SPR-12887
-
- 07 4月, 2015 2 次提交
-
-
由 Rossen Stoyanchev 提交于
Issue: SPR-12854
-
由 Rossen Stoyanchev 提交于
Issue: SPR-10153
-
- 04 4月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 03 4月, 2015 1 次提交
-
-
由 Rossen Stoyanchev 提交于
-
- 02 4月, 2015 2 次提交
-
-
由 Sebastien Deleuze 提交于
This commit introduces support for CORS in Spring Framework. Cross-origin resource sharing (CORS) is a mechanism that allows many resources (e.g. fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain from which the resource originated. It is defined by the CORS W3C recommandation (http://www.w3.org/TR/cors/). A new annotation @CrossOrigin allows to enable CORS support on Controller type or method level. By default all origins ("*") are allowed. @RestController public class SampleController { @CrossOrigin @RequestMapping("/foo") public String foo() { // ... } } Various @CrossOrigin attributes allow to customize the CORS configuration. @RestController public class SampleController { @CrossOrigin(origin = { "http://site1.com", "http://site2.com" }, allowedHeaders = { "header1", "header2" }, exposedHeaders = { "header1", "header2" }, method = RequestMethod.DELETE, maxAge = 123, allowCredentials = "true") @RequestMapping(value = "/foo", method = { RequestMethod.GET, RequestMethod.POST} ) public String foo() { // ... } } A CorsConfigurationSource interface can be implemented by HTTP request handlers that want to support CORS by providing a CorsConfiguration that will be detected at AbstractHandlerMapping level. See for example ResourceHttpRequestHandler that implements this interface. Global CORS configuration should be supported through ControllerAdvice (with type level @CrossOrigin annotated class or class implementing CorsConfigurationSource), or with XML namespace and JavaConfig configuration, but this is not implemented yet. Issue: SPR-9278
-
由 Sebastien Deleuze 提交于
Jackson 2.5.0 or later is required. Issue: SPR-12501
-