From 6c3895e60ad8eae4704bcc110fe8f9323c476e51 Mon Sep 17 00:00:00 2001 From: Athou Date: Mon, 18 Dec 2023 15:09:04 +0100 Subject: [PATCH] make sure we ignore cookies --- .../com/commafeed/backend/HttpGetter.java | 3 +++ .../com/commafeed/backend/HttpGetterTest.java | 20 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/commafeed-server/src/main/java/com/commafeed/backend/HttpGetter.java b/commafeed-server/src/main/java/com/commafeed/backend/HttpGetter.java index ca3977ae..5862e537 100644 --- a/commafeed-server/src/main/java/com/commafeed/backend/HttpGetter.java +++ b/commafeed-server/src/main/java/com/commafeed/backend/HttpGetter.java @@ -1,6 +1,8 @@ package com.commafeed.backend; import java.io.IOException; +import java.net.CookieManager; +import java.net.CookiePolicy; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpClient.Redirect; @@ -106,6 +108,7 @@ public class HttpGetter { .followRedirects(Redirect.ALWAYS) .sslContext(sslFactory.getSslContext()) .sslParameters(sslFactory.getSslParameters()) + .cookieHandler(new CookieManager(null, CookiePolicy.ACCEPT_NONE)) .build(); } diff --git a/commafeed-server/src/test/java/com/commafeed/backend/HttpGetterTest.java b/commafeed-server/src/test/java/com/commafeed/backend/HttpGetterTest.java index 140d57a5..1b625a2d 100644 --- a/commafeed-server/src/test/java/com/commafeed/backend/HttpGetterTest.java +++ b/commafeed-server/src/test/java/com/commafeed/backend/HttpGetterTest.java @@ -3,6 +3,7 @@ package com.commafeed.backend; import java.io.IOException; import java.net.http.HttpTimeoutException; import java.util.Objects; +import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.io.IOUtils; import org.eclipse.jetty.http.HttpStatus; @@ -137,4 +138,23 @@ class HttpGetterTest { Assertions.assertThrows(NotModifiedException.class, () -> getter.getBinary(this.feedUrl, null, "78910", TIMEOUT)); } + @Test + void ignoreCookie() throws Exception { + AtomicInteger calls = new AtomicInteger(); + + this.mockServerClient.when(HttpRequest.request().withMethod("GET")).respond(req -> { + calls.incrementAndGet(); + + if (req.containsHeader(HttpHeaders.COOKIE)) { + throw new Exception("cookie should not be sent by the client"); + } + + return HttpResponse.response().withBody("ok").withHeader(HttpHeaders.SET_COOKIE, "foo=bar"); + }); + + Assertions.assertDoesNotThrow(() -> getter.getBinary(this.feedUrl, TIMEOUT)); + Assertions.assertDoesNotThrow(() -> getter.getBinary(this.feedUrl, TIMEOUT)); + Assertions.assertEquals(2, calls.get()); + } + } \ No newline at end of file