32 lines
804 B
Plaintext
32 lines
804 B
Plaintext
import { AstroCookies } from "./cookies.js";
|
|
const astroCookiesSymbol = Symbol.for("astro.cookies");
|
|
function attachCookiesToResponse(response, cookies) {
|
|
Reflect.set(response, astroCookiesSymbol, cookies);
|
|
}
|
|
function responseHasCookies(response) {
|
|
return Reflect.has(response, astroCookiesSymbol);
|
|
}
|
|
function getFromResponse(response) {
|
|
let cookies = Reflect.get(response, astroCookiesSymbol);
|
|
if (cookies != null) {
|
|
return cookies;
|
|
} else {
|
|
return void 0;
|
|
}
|
|
}
|
|
function* getSetCookiesFromResponse(response) {
|
|
const cookies = getFromResponse(response);
|
|
if (!cookies) {
|
|
return [];
|
|
}
|
|
for (const headerValue of AstroCookies.consume(cookies)) {
|
|
yield headerValue;
|
|
}
|
|
return [];
|
|
}
|
|
export {
|
|
attachCookiesToResponse,
|
|
getSetCookiesFromResponse,
|
|
responseHasCookies
|
|
};
|