summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author木杉 <zhmushan@qq.com>2020-04-01 21:37:11 +0800
committerGitHub <noreply@github.com>2020-04-01 09:37:11 -0400
commit5ac2c4aa2e3018b9b997af432e6fb4803383b4d8 (patch)
treef1f50f5c787807507f435e0cb158cd69d091eef2
parent6291ac82ee75481f04cf6ce3da782e5dd20cf693 (diff)
fix(#4550): setCookie should append cookies (#4558)
-rw-r--r--std/http/cookie.ts2
-rw-r--r--std/http/cookie_test.ts8
2 files changed, 9 insertions, 1 deletions
diff --git a/std/http/cookie.ts b/std/http/cookie.ts
index 062019f14..41d417518 100644
--- a/std/http/cookie.ts
+++ b/std/http/cookie.ts
@@ -115,7 +115,7 @@ export function setCookie(res: Response, cookie: Cookie): void {
// TODO (zekth) : Add proper parsing of Set-Cookie headers
// Parsing cookie headers to make consistent set-cookie header
// ref: https://tools.ietf.org/html/rfc6265#section-4.1.1
- res.headers.set("Set-Cookie", toString(cookie));
+ res.headers.append("Set-Cookie", toString(cookie));
}
/**
diff --git a/std/http/cookie_test.ts b/std/http/cookie_test.ts
index 1b78b2bff..52bd8c375 100644
--- a/std/http/cookie_test.ts
+++ b/std/http/cookie_test.ts
@@ -206,5 +206,13 @@ test({
res.headers.get("Set-Cookie"),
"__Host-Kitty=Meow; Secure; Path=/"
);
+
+ res.headers = new Headers();
+ setCookie(res, { name: "cookie-1", value: "value-1", secure: true });
+ setCookie(res, { name: "cookie-2", value: "value-2", maxAge: 3600 });
+ assertEquals(
+ res.headers.get("Set-Cookie"),
+ "cookie-1=value-1; Secure, cookie-2=value-2; Max-Age=3600"
+ );
},
});