未验证 提交 195ad4c6 编写于 作者: 木杉 提交者: GitHub

fix(std/http): verify cookie name & update SameSite type (#4685)

上级 85c61bff
......@@ -22,9 +22,12 @@ export interface Cookie {
unparsed?: string[];
}
export type SameSite = "Strict" | "Lax";
export type SameSite = "Strict" | "Lax" | "None";
function toString(cookie: Cookie): string {
if (!cookie.name) {
return "";
}
const out: string[] = [];
out.push(`${cookie.name}=${cookie.value}`);
......@@ -115,7 +118,10 @@ 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.append("Set-Cookie", toString(cookie));
const v = toString(cookie);
if (v) {
res.headers.append("Set-Cookie", v);
}
}
/**
......
......@@ -214,5 +214,9 @@ test({
res.headers.get("Set-Cookie"),
"cookie-1=value-1; Secure, cookie-2=value-2; Max-Age=3600"
);
res.headers = new Headers();
setCookie(res, { name: "", value: "" });
assertEquals(res.headers.get("Set-Cookie"), null);
},
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册