summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent LE GOFF <g_n_s@hotmail.fr>2019-04-29 16:49:50 +0200
committerRyan Dahl <ry@tinyclouds.org>2019-04-29 07:49:50 -0700
commita814cfc3e1a12d4cad452b190228117ecb74d08a (patch)
tree53cb7ea8ae30732cf82d21b1033f27d4eaee7adf
parentce101a0f8632f6b5390af247f3df2002e86becdf (diff)
http/cookie: fixing equal character split (denoland/deno_std#368)
Original: https://github.com/denoland/deno_std/commit/8503efc8f729cf152a2b03471b3a9d6d93c31197
-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"
+ });
}
});