diesel-core
Version:
Web framework built on Web Standards
37 lines (36 loc) • 1.14 kB
TypeScript
/**
* @module
* Request ID Middleware for Diesel.
*/
import { ContextType, middlewareFunc } from "../../types";
export type RequestIdVariables = {
requestId: string;
};
export type RequestIdOptions = {
limitLength?: number;
headerName?: string;
generator?: (c: ContextType) => string;
};
/**
* Request ID Middleware for Diesel.
*
* @param {object} options - Options for Request ID middleware.
* @param {number} [options.limitLength=255] - The maximum length of request id.
* @param {string} [options.headerName=X-Request-Id] - The header name used in request id.
* @param {generator} [options.generator=() => crypto.randomUUID()] - The request id generation function.
*
* @returns {MiddlewareHandler} The middleware handler function.
*
* @example
* ```ts
* type Variables = RequestIdVariables
* const app = new Hono<{Variables: Variables}>()
*
* app.use(requestId())
* app.get('/', (c) => {
* console.log(c.get('requestId')) // Debug
* return c.text('Hello World!')
* })
* ```
*/
export declare const requestId: ({ limitLength, headerName, generator, }?: RequestIdOptions) => middlewareFunc;