diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/Cookie.java b/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/Cookie.java index 3782a51131..25d7293b58 100644 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/Cookie.java +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/Cookie.java @@ -45,7 +45,7 @@ public interface Cookie { String MAX_AGE_ATTR = "max-age"; String SECURE_ATTR = "secure"; String EXPIRES_ATTR = "expires"; - String HTTP_ONLY_ATTR = "httpOnly"; + String HTTP_ONLY_ATTR = "httponly"; /** * @since 5.0 diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/cookie/TestRFC6265CookieSpec.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/cookie/TestRFC6265CookieSpec.java index 945938cf14..6bb9ad14f6 100644 --- a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/cookie/TestRFC6265CookieSpec.java +++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/cookie/TestRFC6265CookieSpec.java @@ -202,6 +202,19 @@ void testParseCookieWithAttributes3() throws Exception { Assertions.assertEquals("", cookie.getAttribute("p1")); } + @Test + void testParseCookieWithHttpOnly() throws Exception { + final RFC6265CookieSpec cookiespec = new RFC6265CookieSpec(); + + final Header header = new BasicHeader("Set-Cookie", "name = value ; HttpOnly"); + final CookieOrigin origin = new CookieOrigin("host", 80, "/path/", true); + final List cookies = cookiespec.parse(header, origin); + + Assertions.assertEquals(1, cookies.size()); + final Cookie cookie = cookies.get(0); + Assertions.assertTrue(cookie.containsAttribute(Cookie.HTTP_ONLY_ATTR)); + } + @Test void testValidateCookieBasics() throws Exception { final CommonCookieAttributeHandler h1 = Mockito.mock(CommonCookieAttributeHandler.class);