@dwp/govuk-casa
Version:
A framework for building GOVUK Collect-And-Submit-Applications
30 lines (29 loc) • 1.16 kB
TypeScript
/**
* Produces three middleware functions:
*
* - Set the session cookie
* - Parse request cookies
* - Handle expiry of server-side session
*
* @param {object} opts Options
* @param {RequestHandler} opts.cookieParserMiddleware Cookie parsing middleware
* @param {string} opts.secret Session encryption secret
* @param {string} opts.name Session cookie name
* @param {boolean} opts.secure Secure cookies only
* @param {number} opts.ttl Session data time-to-live
* @param {boolean | string} [opts.cookieSameSite] Cooke SameSite setting
* @param {string} [opts.cookiePath] Cookie path
* @param {object} [opts.store] Storage instance
* @returns {RequestHandler[]} Middleware functions
*/
export default function sessionMiddleware({ cookieParserMiddleware, secret, name, secure, ttl, cookieSameSite, cookiePath, store, }: {
cookieParserMiddleware: RequestHandler;
secret: string;
name: string;
secure: boolean;
ttl: number;
cookieSameSite?: string | boolean | undefined;
cookiePath?: string | undefined;
store?: object | undefined;
}): RequestHandler[];
export type RequestHandler = import("express").RequestHandler;