From faf2c3ff38da5fca0a905b6391726d6848fe7582 Mon Sep 17 00:00:00 2001 From: Ryan Bergman Date: Wed, 8 May 2024 17:51:02 -0500 Subject: [PATCH] allow setting the Partitioned flag on cookies --- .../java/kong/unirest/core/CookieParsingTest.java | 14 ++++++++++++++ .../src/main/java/kong/unirest/core/Cookie.java | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/unirest-bdd-tests/src/test/java/kong/unirest/core/CookieParsingTest.java b/unirest-bdd-tests/src/test/java/kong/unirest/core/CookieParsingTest.java index 6f5d2b64..1548e4c6 100644 --- a/unirest-bdd-tests/src/test/java/kong/unirest/core/CookieParsingTest.java +++ b/unirest-bdd-tests/src/test/java/kong/unirest/core/CookieParsingTest.java @@ -61,6 +61,20 @@ void partitionFlag() { assertTrue(new Cookie("color=blue;Partitioned;").isPartitioned()); } + @Test + void canSetPartition() { + var cookie = new Cookie("cookie", "snickerdoodle"); + cookie.setPartitioned(true); + assertEquals("cookie=snickerdoodle;Partitioned", cookie.toString()); + } + + @Test + void canSetSecured() { + var cookie = new Cookie("cookie", "snickerdoodle"); + cookie.setSecured(true); + assertEquals("cookie=snickerdoodle;Secure", cookie.toString()); + } + @Test void parseBackOutToString() { String v = "color=blue;Path=/get;Domain=localhost;Expires=Sun, 05-Jan-2020 15:00:20 GMT;Max-Age=42;HttpOnly"; diff --git a/unirest/src/main/java/kong/unirest/core/Cookie.java b/unirest/src/main/java/kong/unirest/core/Cookie.java index 36bfc2f7..abacdcea 100644 --- a/unirest/src/main/java/kong/unirest/core/Cookie.java +++ b/unirest/src/main/java/kong/unirest/core/Cookie.java @@ -158,6 +158,9 @@ public String toString() { if(secure){ pairs.add(new Pair("Secure", null)); } + if(partitioned){ + pairs.add(new Pair("Partitioned", null)); + } return pairs.stream().map(Pair::toString).collect(Collectors.joining(";")); } @@ -177,6 +180,14 @@ public boolean isPartitioned() { return this.partitioned; } + public void setPartitioned(boolean value) { + this.partitioned = value; + } + + public void setSecured(boolean value) { + this.secure = value; + } + private static class Pair { final String key; final String value;