Add empty location check to ResourceHttpRequestHandler
ResourceHttpRequestHandler now implements InitializingBean and checks for empty locations. Issue: SPR-9186
This commit is contained in:
@@ -25,6 +25,7 @@ import javax.servlet.ServletException;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.core.io.ClassPathResource;
|
||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
@@ -66,7 +67,7 @@ import org.springframework.web.servlet.support.WebContentGenerator;
|
|||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 3.0.4
|
* @since 3.0.4
|
||||||
*/
|
*/
|
||||||
public class ResourceHttpRequestHandler extends WebContentGenerator implements HttpRequestHandler {
|
public class ResourceHttpRequestHandler extends WebContentGenerator implements HttpRequestHandler, InitializingBean {
|
||||||
|
|
||||||
private static final boolean jafPresent =
|
private static final boolean jafPresent =
|
||||||
ClassUtils.isPresent("javax.activation.FileTypeMap", ResourceHttpRequestHandler.class.getClassLoader());
|
ClassUtils.isPresent("javax.activation.FileTypeMap", ResourceHttpRequestHandler.class.getClassLoader());
|
||||||
@@ -87,6 +88,9 @@ public class ResourceHttpRequestHandler extends WebContentGenerator implements H
|
|||||||
this.locations = locations;
|
this.locations = locations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void afterPropertiesSet() throws Exception {
|
||||||
|
Assert.notEmpty(locations, "Locations list must not be empty");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Processes a resource request.
|
* Processes a resource request.
|
||||||
|
|||||||
@@ -219,6 +219,11 @@ public class ResourceHttpRequestHandlerTests {
|
|||||||
assertEquals(404, response.getStatus());
|
assertEquals(404, response.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(expected=IllegalArgumentException.class)
|
||||||
|
public void locationsNotSet() throws Exception {
|
||||||
|
new ResourceHttpRequestHandler().afterPropertiesSet();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static class TestServletContext extends MockServletContext {
|
private static class TestServletContext extends MockServletContext {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user