Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.1 KiB
Text
41 lines
1.1 KiB
Text
/**
|
|
* @public
|
|
*/
|
|
export type RequestHandlerOutput<ResponseType> = {
|
|
response: ResponseType;
|
|
};
|
|
/**
|
|
* @public
|
|
*/
|
|
export interface RequestHandler<RequestType, ResponseType, HandlerOptions = {}> {
|
|
/**
|
|
* metadata contains information of a handler. For example
|
|
* 'h2' refers this handler is for handling HTTP/2 requests,
|
|
* whereas 'h1' refers handling HTTP1 requests
|
|
*/
|
|
metadata?: RequestHandlerMetadata;
|
|
destroy?: () => void;
|
|
handle: (request: RequestType, handlerOptions?: HandlerOptions) => Promise<RequestHandlerOutput<ResponseType>>;
|
|
}
|
|
/**
|
|
* @public
|
|
*/
|
|
export interface RequestHandlerMetadata {
|
|
handlerProtocol: RequestHandlerProtocol | string;
|
|
}
|
|
/**
|
|
* @public
|
|
* Values from ALPN Protocol IDs.
|
|
* @see https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
|
|
*/
|
|
export declare enum RequestHandlerProtocol {
|
|
HTTP_0_9 = "http/0.9",
|
|
HTTP_1_0 = "http/1.0",
|
|
TDS_8_0 = "tds/8.0"
|
|
}
|
|
/**
|
|
* @public
|
|
*/
|
|
export interface RequestContext {
|
|
destination: URL;
|
|
}
|