Browse Source

Polish ServletWebRequest

Closes gh-33698
pull/33703/head
Sangmin Park 1 year ago committed by Sébastien Deleuze
parent
commit
ae32227b50
  1. 11
      spring-web/src/main/java/org/springframework/web/context/request/ServletWebRequest.java

11
spring-web/src/main/java/org/springframework/web/context/request/ServletWebRequest.java

@ -202,10 +202,15 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ @@ -202,10 +202,15 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
@Override
public boolean checkNotModified(@Nullable String etag, long lastModifiedTimestamp) {
if (this.notModified) {
return true;
}
HttpServletResponse response = getResponse();
if (this.notModified || (response != null && HttpStatus.OK.value() != response.getStatus())) {
return this.notModified;
if (response != null && HttpStatus.OK.value() != response.getStatus()) {
return false;
}
// Evaluate conditions in order of precedence.
// See https://datatracker.ietf.org/doc/html/rfc9110#section-13.2.2
if (validateIfMatch(etag)) {
@ -213,7 +218,7 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ @@ -213,7 +218,7 @@ public class ServletWebRequest extends ServletRequestAttributes implements Nativ
return this.notModified;
}
// 2) If-Unmodified-Since
else if (validateIfUnmodifiedSince(lastModifiedTimestamp)) {
if (validateIfUnmodifiedSince(lastModifiedTimestamp)) {
updateResponseStateChanging(etag, lastModifiedTimestamp);
return this.notModified;
}

Loading…
Cancel
Save