更多工具
更多 H3 实用工具。
基础
withBase(base, input)
返回一个新的事件处理器,该处理器在调用原始处理器之前会移除事件的基础 URL。
示例:
const api = new H3()
.get("/", () => "Hello API!");
const app = new H3();
.use("/api/**", withBase("/api", api.handler));
事件
getEventContext(event)
获取事件的上下文,如果不存在,则在 req.context 上初始化一个新上下文。
isEvent(input)
检查输入是否为 H3Event 对象。
isHTTPEvent(input)
检查输入是否为具有 { req: Request } 签名的对象。
mockEvent(_request, options?)
中间件
bodyLimit(limit)
定义一个中间件,用于检查请求体的大小是否在指定限制内。
如果请求体大小超过限制,则抛出 413 请求实体过大错误。如果你需要自定义该情况的处理,请使用 assertBodySize。
onError(hook)
定义一个错误发生时运行的中间件。
你可以从处理器返回一个新的响应来优雅地处理错误。
onRequest(hook)
定义一个在每次请求时运行的中间件。
onResponse(hook)
定义一个在响应生成后运行的中间件。
你可以从处理器返回一个新的响应以替换原始响应。
WebSocket
defineWebSocket(hooks)
定义 WebSocket 钩子。
defineWebSocketHandler(hooks)
定义 WebSocket 事件处理器。
适配器
defineNodeHandler(handler)
defineNodeMiddleware(handler)
fromNodeHandler(handler)
fromWebHandler()
toNodeHandler(app)
将 H3 应用实例转换为具有 (IncomingMessage, ServerResponse) => void 签名的 NodeHandler。