@worker-tools/middleware
Version:
A suite of standalone HTTP server middlewares for Worker Runtimes.
37 lines (36 loc) • 1.62 kB
TypeScript
import { CookieStore } from "@worker-tools/request-cookie-store";
import { DeriveOptions } from "@worker-tools/signed-cookie-store";
import { Awaitable } from "./utils/common-types.js";
import { Context } from "./index.js";
export declare function cookiesFrom(cookieStore: CookieStore): Promise<Cookies>;
/**
* An object of the cookies sent with this request.
* It is for reading convenience only.
* To make changes, use the associated cookie store instead (provided by the middleware along with this object)
*/
export declare type Cookies = {
readonly [key: string]: string;
};
export interface CookiesContext {
cookieStore: CookieStore;
cookies: Cookies;
}
export interface UnsignedCookiesContext extends CookiesContext {
unsignedCookieStore: CookieStore;
unsignedCookies: Cookies;
}
export interface SignedCookiesContext extends CookiesContext {
signedCookieStore: CookieStore;
signedCookies: Cookies;
}
export interface EncryptedCookiesContext extends CookiesContext {
encryptedCookieStore: CookieStore;
encryptedCookies: Cookies;
}
export interface CookiesOptions extends DeriveOptions {
keyring?: readonly CryptoKey[];
}
export declare const plainCookies: () => <X extends Context>(ax: Awaitable<X>) => Promise<X & UnsignedCookiesContext>;
export { plainCookies as unsignedCookies };
export declare const signedCookies: (opts: CookiesOptions) => <X extends Context>(ax: Awaitable<X>) => Promise<X & SignedCookiesContext>;
export declare const encryptedCookies: (opts: CookiesOptions) => <X extends Context>(ax: Awaitable<X>) => Promise<X & EncryptedCookiesContext>;