UNPKG

@worker-tools/middleware

Version:

A suite of standalone HTTP server middlewares for Worker Runtimes.

37 lines (36 loc) 1.62 kB
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>;