summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2019-07-02 10:52:40 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2019-07-02 11:02:46 +0200
commitf0433c5fb7dd0b9a300c03da4dad4e9fc6a5929e (patch)
tree98a3f87ac572bc56fd351317d1590822ecb0d038 /jdisc_http_service
parent928ce233e4241d1280d343709a6454f587820f3b (diff)
Use new Jetty api for generating set-cookie headers
Diffstat (limited to 'jdisc_http_service')
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/Cookie.java36
-rw-r--r--jdisc_http_service/src/test/java/com/yahoo/jdisc/http/CookieTestCase.java2
-rw-r--r--jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java2
3 files changed, 19 insertions, 21 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/Cookie.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/Cookie.java
index 06c93db7ede..a2c9a2cab82 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/Cookie.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/Cookie.java
@@ -2,10 +2,7 @@
package com.yahoo.jdisc.http;
import org.eclipse.jetty.server.CookieCutter;
-import org.eclipse.jetty.server.Response;
-import java.net.HttpCookie;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -15,6 +12,8 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
+import static java.util.stream.Collectors.toList;
+
/**
* A RFC 6265 compliant cookie.
*
@@ -154,7 +153,7 @@ public class Cookie {
public static String toCookieHeader(Iterable<? extends Cookie> cookies) {
return StreamSupport.stream(cookies.spliterator(), false)
.map(cookie -> {
- HttpCookie httpCookie = new HttpCookie(cookie.getName(), cookie.getValue());
+ java.net.HttpCookie httpCookie = new java.net.HttpCookie(cookie.getName(), cookie.getValue());
httpCookie.setDomain(cookie.getDomain());
httpCookie.setHttpOnly(cookie.isHttpOnly());
httpCookie.setMaxAge(cookie.getMaxAge(TimeUnit.SECONDS));
@@ -181,23 +180,22 @@ public class Cookie {
cookie.setHttpOnly(servletCookie.isHttpOnly());
return cookie;
})
- .collect(Collectors.toList());
+ .collect(toList());
}
public static List<String> toSetCookieHeaders(Iterable<? extends Cookie> cookies) {
- // Ugly, bot Jetty does not provide a dedicated cookie parser (will be included in Jetty 10)
- Response response = new Response(null, null);
- for (Cookie cookie : cookies) {
- response.addSetRFC6265Cookie(
- cookie.getName(),
- cookie.getValue(),
- cookie.getDomain(),
- cookie.getPath(),
- cookie.getMaxAge(TimeUnit.SECONDS),
- cookie.isSecure(),
- cookie.isHttpOnly());
- }
- return new ArrayList<>(response.getHeaders("Set-Cookie"));
+ return StreamSupport.stream(cookies.spliterator(), false)
+ .map(cookie ->
+ new org.eclipse.jetty.http.HttpCookie(
+ cookie.getName(),
+ cookie.getValue(),
+ cookie.getDomain(),
+ cookie.getPath(),
+ cookie.getMaxAge(TimeUnit.SECONDS),
+ cookie.isSecure(),
+ cookie.isHttpOnly()
+ ).getRFC6265SetCookie())
+ .collect(toList());
}
@Deprecated // TODO Vespa 8 Remove
@@ -206,7 +204,7 @@ public class Cookie {
}
public static Cookie fromSetCookieHeader(String headerVal) {
- return HttpCookie.parse(headerVal).stream()
+ return java.net.HttpCookie.parse(headerVal).stream()
.map(httpCookie -> {
Cookie cookie = new Cookie();
cookie.setName(httpCookie.getName());
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/CookieTestCase.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/CookieTestCase.java
index a367edb084f..709a9484349 100644
--- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/CookieTestCase.java
+++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/CookieTestCase.java
@@ -113,7 +113,7 @@ public class CookieTestCase {
@Test
public void requireThatSetCookieCanBeEncoded() {
assertEncodeSetCookie(
- Collections.singletonList("foo.name=foo.value;Path=path;Domain=domain;Secure;HttpOnly"),
+ Collections.singletonList("foo.name=foo.value; Path=path; Domain=domain; Secure; HttpOnly"),
Collections.singletonList(newSetCookie("foo")));
}
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java
index aecd3854408..ec9c90ffa50 100644
--- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java
+++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java
@@ -407,7 +407,7 @@ public class HttpServerTest {
driver.client().get("/status.html")
.expectStatusCode(is(OK))
.expectHeader("Set-Cookie",
- is("foo=bar;Path=/foopath;Domain=.localhost;Secure;HttpOnly"));
+ is("foo=bar; Path=/foopath; Domain=.localhost; Secure; HttpOnly"));
assertThat(driver.close(), is(true));
}