You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2019/03/04 15:17:18 UTC
[sling-org-apache-sling-servlet-helpers] branch master updated:
SLING-7797 make sure IllegalArgumentException is thrown when trying to
parse an invalid date value
This is an automated email from the ASF dual-hosted git repository.
sseifert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlet-helpers.git
The following commit(s) were added to refs/heads/master by this push:
new 80b2025 SLING-7797 make sure IllegalArgumentException is thrown when trying to parse an invalid date value
80b2025 is described below
commit 80b2025c8c01234b6b149ef986c38667c48bca89
Author: sseifert <ss...@pro-vision.de>
AuthorDate: Mon Mar 4 16:16:51 2019 +0100
SLING-7797 make sure IllegalArgumentException is thrown when trying to parse an invalid date value
---
src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java | 8 +++++++-
.../sling/servlethelpers/MockSlingHttpServletRequestTest.java | 7 +++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java b/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java
index d644a74..24f0b63 100644
--- a/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java
+++ b/src/main/java/org/apache/sling/servlethelpers/HeaderSupport.java
@@ -22,6 +22,7 @@ import java.time.Instant;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
@@ -158,7 +159,12 @@ class HeaderSupport {
}
private static synchronized Calendar parseDate(String dateString) {
- return GregorianCalendar.from(ZonedDateTime.parse(dateString, RFC_1123_DATE_TIME));
+ try {
+ return GregorianCalendar.from(ZonedDateTime.parse(dateString, RFC_1123_DATE_TIME));
+ }
+ catch (DateTimeParseException ex) {
+ throw new IllegalArgumentException("Invalid date value: " + dateString, ex);
+ }
}
}
diff --git a/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java b/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java
index 36ba6a8..3f74230 100644
--- a/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java
+++ b/src/test/java/org/apache/sling/servlethelpers/MockSlingHttpServletRequestTest.java
@@ -269,6 +269,13 @@ public class MockSlingHttpServletRequestTest {
assertFalse(header2Values.hasMoreElements());
}
+ @Test(expected = IllegalArgumentException.class)
+ public void testInvalidDateHeader() {
+ request.addHeader("header1", "thisIsNotADate");
+ // make sure IllegalArgumentException is thrown as defined by the HttpServletRequest API
+ request.getDateHeader("header1");
+ }
+
@Test
public void testCookies() {
assertNull(request.getCookies());