Polishing

This commit is contained in:
Juergen Hoeller
2015-08-27 22:04:58 +02:00
parent 0c2b787cb5
commit 491adf1f2f
4 changed files with 23 additions and 22 deletions

View File

@@ -55,11 +55,11 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
private static final String METHOD_HEAD = "HEAD";
/** Checking for Servlet 3.0+ HttpServletResponse.getStatus() */
private static final boolean responseGetStatusAvailable =
ClassUtils.hasMethod(HttpServletResponse.class, "getStatus");
private boolean notModified = false;
@@ -184,7 +184,7 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
if (this.notModified && supportsNotModifiedStatus()) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
if(response.getHeader(HEADER_LAST_MODIFIED) == null) {
if (response.getHeader(HEADER_LAST_MODIFIED) == null) {
response.setDateHeader(HEADER_LAST_MODIFIED, lastModifiedTimestamp);
}
}
@@ -193,12 +193,6 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
return this.notModified;
}
private boolean isCompatibleWithConditionalRequests(HttpServletResponse response) {
return response == null
|| !responseGetStatusAvailable
|| HttpStatus.valueOf(response.getStatus()).is2xxSuccessful();
}
@SuppressWarnings("deprecation")
private boolean isTimestampNotModified(long lastModifiedTimestamp) {
long ifModifiedSince = -1;
@@ -233,7 +227,7 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
if (this.notModified && supportsNotModifiedStatus()) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
if(response.getHeader(HEADER_ETAG) == null) {
if (response.getHeader(HEADER_ETAG) == null) {
response.setHeader(HEADER_ETAG, etag);
}
}
@@ -242,6 +236,14 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
return this.notModified;
}
private boolean isCompatibleWithConditionalRequests(HttpServletResponse response) {
if (response == null || !responseGetStatusAvailable) {
// Can't check response.getStatus() - let's assume we're good
return true;
}
return HttpStatus.valueOf(response.getStatus()).is2xxSuccessful();
}
private String addEtagPadding(String etag) {
if (!(etag.startsWith("\"") || etag.startsWith("W/\"")) || !etag.endsWith("\"")) {
etag = "\"" + etag + "\"";
@@ -283,10 +285,10 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
if (this.notModified && supportsNotModifiedStatus()) {
response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
}
if(response.getHeader(HEADER_ETAG) == null) {
if (response.getHeader(HEADER_ETAG) == null) {
response.setHeader(HEADER_ETAG, etag);
}
if(response.getHeader(HEADER_LAST_MODIFIED) == null) {
if (response.getHeader(HEADER_LAST_MODIFIED) == null) {
response.setDateHeader(HEADER_LAST_MODIFIED, lastModifiedTimestamp);
}
}