summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http/cookie.ts2
-rw-r--r--http/cookie_test.ts8
2 files changed, 9 insertions, 1 deletions
diff --git a/http/cookie.ts b/http/cookie.ts
index b7019ae20..900d2941b 100644
--- a/http/cookie.ts
+++ b/http/cookie.ts
@@ -79,7 +79,7 @@ export function getCookies(req: ServerRequest): Cookies {
for (const kv of c) {
const cookieVal = kv.split("=");
const key = cookieVal.shift().trim();
- out[key] = cookieVal.join("");
+ out[key] = cookieVal.join("=");
}
return out;
}
diff --git a/http/cookie_test.ts b/http/cookie_test.ts
index ae99b2707..4b4e2759d 100644
--- a/http/cookie_test.ts
+++ b/http/cookie_test.ts
@@ -21,6 +21,14 @@ test({
req.headers = new Headers();
req.headers.set("Cookie", "igot=99; problems=but...");
assertEquals(getCookies(req), { igot: "99", problems: "but..." });
+
+ req.headers = new Headers();
+ req.headers.set("Cookie", "PREF=al=en-GB&f1=123; wide=1; SID=123");
+ assertEquals(getCookies(req), {
+ PREF: "al=en-GB&f1=123",
+ wide: "1",
+ SID: "123"
+ });
}
});