erest
    Preparing search index...

    Interface Context<State, Raw>

    框架无关的请求上下文。

    由各 adapter 在中间件链最前面构造并注入,让 before/middleware/handler 用统一的 (ctx, next) 签名,无需关心框架原生 ctx/res 差异。同一份中间件可被 Express / Koa / @leizm/web 三个框架复用。

    params/query/body 为框架原始请求数据(校验前的原始值,由 checker 校验后填入 $validated)。

    interface Context<
        State extends Record<string, unknown> = Record<string, unknown>,
        Raw = unknown,
    > {
        $body?: Record<string, unknown>;
        $headers?: Record<string, unknown>;
        $params?: Record<string, unknown>;
        $pathParams?: Record<string, unknown>;
        $query?: Record<string, unknown>;
        $validated?: {
            body: Record<string, unknown>;
            headers: Record<string, unknown>;
            params: Record<string, unknown>;
            query: Record<string, unknown>;
        };
        body: unknown;
        headers: Record<string, string>;
        method: string;
        params: Record<string, unknown>;
        path: string;
        query: Record<string, unknown>;
        reply: Reply<Raw>;
        state: State;
    }

    Type Parameters

    • State extends Record<string, unknown> = Record<string, unknown>
    • Raw = unknown
    Index

    Properties

    $body?: Record<string, unknown>

    校验后请求体(分层快捷访问器)

    $headers?: Record<string, unknown>

    校验后请求头(分层快捷访问器)

    $params?: Record<string, unknown>

    校验后扁平参数(params+query+body+headers 合并,由 checker 注入;便捷读取)

    $pathParams?: Record<string, unknown>

    校验后路径参数(分层快捷访问器,避免同名字段覆盖)

    $query?: Record<string, unknown>

    校验后 query 参数(分层快捷访问器)

    $validated?: {
        body: Record<string, unknown>;
        headers: Record<string, unknown>;
        params: Record<string, unknown>;
        query: Record<string, unknown>;
    }

    校验后分层参数(由 checker 注入;before/middleware 执行时尚未填充)

    body: unknown

    请求体(校验前原始值)

    headers: Record<string, string>

    请求头(大小写不敏感读取;底层为框架原始 headers)

    method: string

    请求方法(GET/POST/...),大写

    params: Record<string, unknown>

    路径参数(校验前原始值,如 { id: '42' })

    path: string

    请求路径(日志/计时用)

    query: Record<string, unknown>

    query 参数(校验前原始值)

    reply: Reply<Raw>

    框架无关响应接口(Raw 经 ERest<T,Raw,State> 泛型锁定,由子包 createERest 工厂在构造时确定)

    state: State

    跨中间件传递数据的可读写状态(类型由 ERest 泛型驱动;默认 Record<string,unknown>)