From 8fbb0f63ba1d310150eabc5d91869bef17e5b1a9 Mon Sep 17 00:00:00 2001
From: Artem Redkin <aredkin@apple.com>
Date: Tue, 12 May 2020 20:41:16 +0100
Subject: [PATCH 1/2] allow empty value cookies

---
 Sources/AsyncHTTPClient/HTTPClient+HTTPCookie.swift |  2 +-
 .../HTTPClientCookieTests.swift                     | 13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/Sources/AsyncHTTPClient/HTTPClient+HTTPCookie.swift b/Sources/AsyncHTTPClient/HTTPClient+HTTPCookie.swift
index ea4dd2ad7..39b52903a 100644
--- a/Sources/AsyncHTTPClient/HTTPClient+HTTPCookie.swift
+++ b/Sources/AsyncHTTPClient/HTTPClient+HTTPCookie.swift
@@ -50,7 +50,7 @@ extension HTTPClient {
                 return nil
             }
 
-            let nameAndValue = components[0].split(separator: "=", maxSplits: 1).map {
+            let nameAndValue = components[0].split(separator: "=", maxSplits: 1, omittingEmptySubsequences: false).map {
                 $0.trimmingCharacters(in: .whitespaces)
             }
 
diff --git a/Tests/AsyncHTTPClientTests/HTTPClientCookieTests.swift b/Tests/AsyncHTTPClientTests/HTTPClientCookieTests.swift
index ad2f4b260..52e5008bd 100644
--- a/Tests/AsyncHTTPClientTests/HTTPClientCookieTests.swift
+++ b/Tests/AsyncHTTPClientTests/HTTPClientCookieTests.swift
@@ -30,6 +30,19 @@ class HTTPClientCookieTests: XCTestCase {
         XCTAssertTrue(c.secure)
     }
 
+    func testEmptyValueCookie() {
+        let v = "cookieValue=; Path=/"
+        let c = HTTPClient.Cookie(header: v, defaultDomain: "exampe.org")!
+        XCTAssertEqual("cookieValue", c.name)
+        XCTAssertEqual("", c.value)
+        XCTAssertEqual("/", c.path)
+        XCTAssertEqual("exampe.org", c.domain)
+        XCTAssertNil(c.expires)
+        XCTAssertNil(c.maxAge)
+        XCTAssertFalse(c.httpOnly)
+        XCTAssertFalse(c.secure)
+    }
+
     func testCookieDefaults() {
         let v = "key=value"
         let c = HTTPClient.Cookie(header: v, defaultDomain: "example.org")!

From db7a8f7795ffdccf03617507a43b305b1cda8778 Mon Sep 17 00:00:00 2001
From: Artem Redkin <aredkin@apple.com>
Date: Tue, 12 May 2020 20:49:26 +0100
Subject: [PATCH 2/2] generate tests

---
 Tests/AsyncHTTPClientTests/HTTPClientCookieTests+XCTest.swift | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Tests/AsyncHTTPClientTests/HTTPClientCookieTests+XCTest.swift b/Tests/AsyncHTTPClientTests/HTTPClientCookieTests+XCTest.swift
index 5382d9c99..3f0491992 100644
--- a/Tests/AsyncHTTPClientTests/HTTPClientCookieTests+XCTest.swift
+++ b/Tests/AsyncHTTPClientTests/HTTPClientCookieTests+XCTest.swift
@@ -26,6 +26,7 @@ extension HTTPClientCookieTests {
     static var allTests: [(String, (HTTPClientCookieTests) -> () throws -> Void)] {
         return [
             ("testCookie", testCookie),
+            ("testEmptyValueCookie", testEmptyValueCookie),
             ("testCookieDefaults", testCookieDefaults),
             ("testCookieInit", testCookieInit),
         ]