UNPKG

phecda-server

Version:

server framework that provide IOC/type-reuse/http&rpc-adaptor

49 lines (46 loc) 1.67 kB
import { IncomingHttpHeaders, IncomingMessage, ServerResponse } from 'node:http'; import { B as BaseCtx, D as DefaultOptions } from './meta-EGS-4cNY.js'; interface HttpOptions extends DefaultOptions { /** * 专用路由的值,默认为/__PHECDA_SERVER__,处理phecda-client发出的合并请求 */ parallelRoute?: string | false; /** * 专用路由的插件(work for merge request), */ parallelAddons?: string[]; /** * 是否动态计算pipe/guards/filer */ dynamic?: boolean; } interface HttpCtx extends BaseCtx { parallel?: true; index?: number; query: Record<string, any>; params: Record<string, string>; body: Record<string, any>; headers: IncomingHttpHeaders; category: 'http'; redirect: (url: string, status?: number) => void; getCookie(key: string): string | undefined; setCookie(key: string, value: string, opts?: CookieSerializeOptions): void; delCookie(key: string): void; setResHeaders: (headers: Record<string, string>) => void; setResStatus: (status: number) => void; getRequest: () => IncomingMessage; getResponse: () => ServerResponse; } interface CookieSerializeOptions { domain?: string | undefined; encode?(value: string): string; expires?: Date | undefined; httpOnly?: boolean | undefined; maxAge?: number | undefined; path?: string | undefined; priority?: 'low' | 'medium' | 'high' | undefined; sameSite?: true | false | 'lax' | 'strict' | 'none' | undefined; secure?: boolean | undefined; partitioned?: boolean; } export type { CookieSerializeOptions as C, HttpCtx as H, HttpOptions as a };