astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
29 lines (28 loc) • 728 B
JavaScript
import { AstroCookies } from "./cookies.js";
const astroCookiesSymbol = Symbol.for("astro.cookies");
function attachCookiesToResponse(response, cookies) {
Reflect.set(response, astroCookiesSymbol, cookies);
}
function getCookiesFromResponse(response) {
let cookies = Reflect.get(response, astroCookiesSymbol);
if (cookies != null) {
return cookies;
} else {
return void 0;
}
}
function* getSetCookiesFromResponse(response) {
const cookies = getCookiesFromResponse(response);
if (!cookies) {
return [];
}
for (const headerValue of AstroCookies.consume(cookies)) {
yield headerValue;
}
return [];
}
export {
attachCookiesToResponse,
getCookiesFromResponse,
getSetCookiesFromResponse
};