Browse Source

Return -1 after parse error for Expires header

Issue: SPR-10648
pull/325/merge
Rossen Stoyanchev 13 years ago
parent
commit
9245fffcaf
  1. 14
      spring-web/src/main/java/org/springframework/http/HttpHeaders.java
  2. 8
      spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java

14
spring-web/src/main/java/org/springframework/http/HttpHeaders.java

@ -391,12 +391,20 @@ public class HttpHeaders implements MultiValueMap<String, String>, Serializable @@ -391,12 +391,20 @@ public class HttpHeaders implements MultiValueMap<String, String>, Serializable
}
/**
* Returns the date and time at which the message is no longer valid, as specified by the {@code Expires} header.
* <p>The date is returned as the number of milliseconds since January 1, 1970 GMT. Returns -1 when the date is unknown.
* Returns the date and time at which the message is no longer valid, as specified by
* the {@code Expires} header.
* <p>The date is returned as the number of milliseconds since January 1, 1970 GMT.
* Returns -1 when the date is unknown.
*
* @return the expires value
*/
public long getExpires() {
return getFirstDate(EXPIRES);
try {
return getFirstDate(EXPIRES);
}
catch (IllegalArgumentException ex) {
return -1;
}
}
/**

8
spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java

@ -210,6 +210,14 @@ public class HttpHeadersTests { @@ -210,6 +210,14 @@ public class HttpHeadersTests {
assertEquals("Invalid Expires header", "Thu, 18 Dec 2008 10:20:00 GMT", headers.getFirst("expires"));
}
// SPR-10648 (example is from INT-3063)
@Test
public void expiresInvalidDate() {
headers.set("Expires", "-1");
assertEquals(-1, headers.getExpires());
}
@Test
public void ifModifiedSince() {
Calendar calendar = new GregorianCalendar(2008, 11, 18, 11, 20);

Loading…
Cancel
Save