@ -19,7 +19,6 @@ package org.springframework.web.context.request;
@@ -19,7 +19,6 @@ package org.springframework.web.context.request;
import java.util.Date ;
import java.util.Locale ;
import java.util.Map ;
import javax.servlet.ServletRequest ;
import javax.servlet.ServletResponse ;
import javax.servlet.http.HttpServletRequest ;
@ -118,75 +117,90 @@ public class ServletWebRequestTests {
@@ -118,75 +117,90 @@ public class ServletWebRequestTests {
}
@Test
public void checkNotModifiedTimeS tampForGET ( ) {
public void checkNotModifiedTimes tampForGET ( ) {
long currentTime = new Date ( ) . getTime ( ) ;
servletRequest . setMethod ( "GET" ) ;
servletRequest . addHeader ( "If-Modified-Since" , currentTime ) ;
request . checkNotModified ( currentTime ) ;
assertTrue ( request . checkNotModified ( currentTime ) ) ;
assertEquals ( 304 , servletResponse . getStatus ( ) ) ;
}
@Test
public void checkModifiedTimeS tampForGET ( ) {
public void checkModifiedTimes tampForGET ( ) {
long currentTime = new Date ( ) . getTime ( ) ;
long oneMinuteAgo = currentTime - ( 1000 * 60 ) ;
servletRequest . setMethod ( "GET" ) ;
servletRequest . addHeader ( "If-Modified-Since" , oneMinuteAgo ) ;
request . checkNotModified ( currentTime ) ;
assertFalse ( request . checkNotModified ( currentTime ) ) ;
assertEquals ( 200 , servletResponse . getStatus ( ) ) ;
assertEquals ( "" + currentTime , servletResponse . getHeader ( "Last-Modified" ) ) ;
}
@Test
public void checkNotModifiedTimestampForHEAD ( ) {
long currentTime = new Date ( ) . getTime ( ) ;
servletRequest . setMethod ( "HEAD" ) ;
servletRequest . addHeader ( "If-Modified-Since" , currentTime ) ;
assertTrue ( request . checkNotModified ( currentTime ) ) ;
assertEquals ( 304 , servletResponse . getStatus ( ) ) ;
}
@Test
public void checkModifiedTimestampForHEAD ( ) {
long currentTime = new Date ( ) . getTime ( ) ;
long oneMinuteAgo = currentTime - ( 1000 * 60 ) ;
servletRequest . setMethod ( "HEAD" ) ;
servletRequest . addHeader ( "If-Modified-Since" , oneMinuteAgo ) ;
assertFalse ( request . checkNotModified ( currentTime ) ) ;
assertEquals ( 200 , servletResponse . getStatus ( ) ) ;
assertEquals ( "" + currentTime , servletResponse . getHeader ( "Last-Modified" ) ) ;
}
@Test
public void checkNotModifiedETagForGET ( ) {
String eTag = "\"Foo\"" ;
public void checkNotModifiedTimestampWithLengthPart ( ) {
long currentTime = Date . parse ( "Wed, 09 Apr 2014 09:57:42 GMT" ) ;
servletRequest . setMethod ( "GET" ) ;
servletRequest . addHeader ( "If-None-Match" , eTag ) ;
request . checkNotModified ( eTag ) ;
servletRequest . addHeader ( "If-Modified-Since" , "Wed, 09 Apr 2014 09:57:42 GMT; length=13774" ) ;
assertTrue ( request . checkNotModified ( currentTime ) ) ;
assertEquals ( 304 , servletResponse . getStatus ( ) ) ;
}
@Test
public void checkModifiedETagForGET ( ) {
String currentETag = "\"Foo\"" ;
String oldEtag = "Bar" ;
public void checkModifiedTimestampWithLengthPart ( ) {
long currentTime = Date . parse ( "Wed, 09 Apr 2014 09:57:42 GMT" ) ;
servletRequest . setMethod ( "GET" ) ;
servletRequest . addHeader ( "If-None-Match" , oldEtag ) ;
request . checkNotModified ( currentETag ) ;
servletRequest . addHeader ( "If-Modified-Since" , "Wed, 08 Apr 2014 09:57:42 GMT; length=13774" ) ;
assertFalse ( request . checkNotModified ( currentTime ) ) ;
assertEquals ( 200 , servletResponse . getStatus ( ) ) ;
assertEquals ( currentETag , servletResponse . getHeader ( "ETag " ) ) ;
assertEquals ( "" + currentTime , servletResponse . getHeader ( "Last-Modified " ) ) ;
}
@Test
public void checkNotModifiedTimeStampForHEAD ( ) {
long currentTime = new Date ( ) . getTime ( ) ;
servletRequest . setMethod ( "HEAD" ) ;
servletRequest . addHeader ( "If-Modified-Since" , currentTime ) ;
request . checkNotModified ( currentTime ) ;
public void checkNotModifiedETagForGET ( ) {
String eTag = "\"Foo\"" ;
servletRequest . setMethod ( "GET" ) ;
servletRequest . addHeader ( "If-None-Match" , eTag ) ;
assertTrue ( request . checkNotModified ( eTag ) ) ;
assertEquals ( 304 , servletResponse . getStatus ( ) ) ;
}
@Test
public void checkModifiedTimeStampForHEAD ( ) {
long currentTime = new Date ( ) . getTime ( ) ;
long oneMinuteAgo = currentTime - ( 1000 * 60 ) ;
servletRequest . setMethod ( "HEAD" ) ;
servletRequest . addHeader ( "If-Modified-Since" , oneMinuteAgo ) ;
request . checkNotModified ( currentTime ) ;
public void checkModifiedETagForGET ( ) {
String currentETag = "\"Foo\"" ;
String oldEtag = "Bar" ;
servletRequest . setMethod ( "GET" ) ;
servletRequest . addHeader ( "If-None-Match" , oldEtag ) ;
assertFalse ( request . checkNotModified ( currentETag ) ) ;
assertEquals ( 200 , servletResponse . getStatus ( ) ) ;
assertEquals ( "" + currentTime , servletResponse . getHeader ( "Last-Modified " ) ) ;
assertEquals ( currentETag , servletResponse . getHeader ( "ETag " ) ) ;
}
@Test
@ -195,8 +209,7 @@ public class ServletWebRequestTests {
@@ -195,8 +209,7 @@ public class ServletWebRequestTests {
servletRequest . setMethod ( "HEAD" ) ;
servletRequest . addHeader ( "If-None-Match" , eTag ) ;
request . checkNotModified ( eTag ) ;
assertTrue ( request . checkNotModified ( eTag ) ) ;
assertEquals ( 304 , servletResponse . getStatus ( ) ) ;
}
@ -207,8 +220,7 @@ public class ServletWebRequestTests {
@@ -207,8 +220,7 @@ public class ServletWebRequestTests {
servletRequest . setMethod ( "HEAD" ) ;
servletRequest . addHeader ( "If-None-Match" , oldEtag ) ;
request . checkNotModified ( currentETag ) ;
assertFalse ( request . checkNotModified ( currentETag ) ) ;
assertEquals ( 200 , servletResponse . getStatus ( ) ) ;
assertEquals ( currentETag , servletResponse . getHeader ( "ETag" ) ) ;
}