diff options
author | 木杉 <zhmushan@qq.com> | 2020-04-01 21:37:11 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-01 09:37:11 -0400 |
commit | 5ac2c4aa2e3018b9b997af432e6fb4803383b4d8 (patch) | |
tree | f1f50f5c787807507f435e0cb158cd69d091eef2 | |
parent | 6291ac82ee75481f04cf6ce3da782e5dd20cf693 (diff) |
fix(#4550): setCookie should append cookies (#4558)
-rw-r--r-- | std/http/cookie.ts | 2 | ||||
-rw-r--r-- | std/http/cookie_test.ts | 8 |
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" + ); }, }); |