|
|
|
@ -248,37 +248,38 @@ public class ResourceHttpRequestHandlerTests { |
|
|
|
ContentNegotiationManager manager = factory.getObject(); |
|
|
|
ContentNegotiationManager manager = factory.getObject(); |
|
|
|
|
|
|
|
|
|
|
|
List<Resource> paths = Collections.singletonList(new ClassPathResource("test/", getClass())); |
|
|
|
List<Resource> paths = Collections.singletonList(new ClassPathResource("test/", getClass())); |
|
|
|
this.handler = new ResourceHttpRequestHandler(); |
|
|
|
ResourceHttpRequestHandler handler = new ResourceHttpRequestHandler(); |
|
|
|
this.handler.setLocations(paths); |
|
|
|
handler.setServletContext(new MockServletContext()); |
|
|
|
this.handler.setContentNegotiationManager(manager); |
|
|
|
handler.setLocations(paths); |
|
|
|
this.handler.afterPropertiesSet(); |
|
|
|
handler.setContentNegotiationManager(manager); |
|
|
|
|
|
|
|
handler.afterPropertiesSet(); |
|
|
|
|
|
|
|
|
|
|
|
this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, "foo.css"); |
|
|
|
this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, "foo.css"); |
|
|
|
this.handler.handleRequest(this.request, this.response); |
|
|
|
handler.handleRequest(this.request, this.response); |
|
|
|
|
|
|
|
|
|
|
|
assertEquals("foo/bar", this.response.getContentType()); |
|
|
|
assertEquals("foo/bar", this.response.getContentType()); |
|
|
|
assertEquals("h1 { color:red; }", this.response.getContentAsString()); |
|
|
|
assertEquals("h1 { color:red; }", this.response.getContentAsString()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test // SPR-13658
|
|
|
|
@Test // SPR-14577
|
|
|
|
public void getResourceWithRegisteredMediaTypeDefaultStrategy() throws Exception { |
|
|
|
public void getMediaTypeWithFavorPathExtensionOff() throws Exception { |
|
|
|
ContentNegotiationManagerFactoryBean factory = new ContentNegotiationManagerFactoryBean(); |
|
|
|
ContentNegotiationManagerFactoryBean factory = new ContentNegotiationManagerFactoryBean(); |
|
|
|
factory.setFavorPathExtension(false); |
|
|
|
factory.setFavorPathExtension(false); |
|
|
|
factory.setDefaultContentType(new MediaType("foo", "bar")); |
|
|
|
|
|
|
|
factory.afterPropertiesSet(); |
|
|
|
factory.afterPropertiesSet(); |
|
|
|
ContentNegotiationManager manager = factory.getObject(); |
|
|
|
ContentNegotiationManager manager = factory.getObject(); |
|
|
|
|
|
|
|
|
|
|
|
List<Resource> paths = Collections.singletonList(new ClassPathResource("test/", getClass())); |
|
|
|
List<Resource> paths = Collections.singletonList(new ClassPathResource("test/", getClass())); |
|
|
|
this.handler = new ResourceHttpRequestHandler(); |
|
|
|
ResourceHttpRequestHandler handler = new ResourceHttpRequestHandler(); |
|
|
|
this.handler.setLocations(paths); |
|
|
|
handler.setServletContext(new MockServletContext()); |
|
|
|
this.handler.setContentNegotiationManager(manager); |
|
|
|
handler.setLocations(paths); |
|
|
|
this.handler.afterPropertiesSet(); |
|
|
|
handler.setContentNegotiationManager(manager); |
|
|
|
|
|
|
|
handler.afterPropertiesSet(); |
|
|
|
|
|
|
|
|
|
|
|
this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, "foo.css"); |
|
|
|
this.request.addHeader("Accept", "application/json,text/plain,*/*"); |
|
|
|
this.handler.handleRequest(this.request, this.response); |
|
|
|
this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, "foo.html"); |
|
|
|
|
|
|
|
handler.handleRequest(this.request, this.response); |
|
|
|
|
|
|
|
|
|
|
|
assertEquals("foo/bar", this.response.getContentType()); |
|
|
|
assertEquals("text/html", this.response.getContentType()); |
|
|
|
assertEquals("h1 { color:red; }", this.response.getContentAsString()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Test // SPR-14368
|
|
|
|
@Test // SPR-14368
|
|
|
|
@ -297,13 +298,13 @@ public class ResourceHttpRequestHandlerTests { |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
List<Resource> paths = Collections.singletonList(new ClassPathResource("test/", getClass())); |
|
|
|
List<Resource> paths = Collections.singletonList(new ClassPathResource("test/", getClass())); |
|
|
|
this.handler = new ResourceHttpRequestHandler(); |
|
|
|
ResourceHttpRequestHandler handler = new ResourceHttpRequestHandler(); |
|
|
|
this.handler.setServletContext(servletContext); |
|
|
|
handler.setServletContext(servletContext); |
|
|
|
this.handler.setLocations(paths); |
|
|
|
handler.setLocations(paths); |
|
|
|
this.handler.afterPropertiesSet(); |
|
|
|
handler.afterPropertiesSet(); |
|
|
|
|
|
|
|
|
|
|
|
this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, "foo.css"); |
|
|
|
this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, "foo.css"); |
|
|
|
this.handler.handleRequest(this.request, this.response); |
|
|
|
handler.handleRequest(this.request, this.response); |
|
|
|
|
|
|
|
|
|
|
|
assertEquals("foo/bar", this.response.getContentType()); |
|
|
|
assertEquals("foo/bar", this.response.getContentType()); |
|
|
|
assertEquals("h1 { color:red; }", this.response.getContentAsString()); |
|
|
|
assertEquals("h1 { color:red; }", this.response.getContentAsString()); |
|
|
|
@ -412,6 +413,7 @@ public class ResourceHttpRequestHandlerTests { |
|
|
|
|
|
|
|
|
|
|
|
ResourceHttpRequestHandler handler = new ResourceHttpRequestHandler(); |
|
|
|
ResourceHttpRequestHandler handler = new ResourceHttpRequestHandler(); |
|
|
|
handler.setResourceResolvers(Collections.singletonList(pathResolver)); |
|
|
|
handler.setResourceResolvers(Collections.singletonList(pathResolver)); |
|
|
|
|
|
|
|
handler.setServletContext(new MockServletContext()); |
|
|
|
handler.setLocations(Arrays.asList(location1, location2)); |
|
|
|
handler.setLocations(Arrays.asList(location1, location2)); |
|
|
|
handler.afterPropertiesSet(); |
|
|
|
handler.afterPropertiesSet(); |
|
|
|
|
|
|
|
|
|
|
|
|