From 5ac2c4aa2e3018b9b997af432e6fb4803383b4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=A8=E6=9D=89?= Date: Wed, 1 Apr 2020 21:37:11 +0800 Subject: fix(#4550): setCookie should append cookies (#4558) --- std/http/cookie.ts | 2 +- std/http/cookie_test.ts | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'std') 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" + ); }, }); -- cgit v1.2.3