Guide
事件对象
事件对象承载一个传入的请求和上下文。
每当一个新的 HTTP 请求到达时,h3 在内部创建一个事件对象,并通过事件处理器传递,直到发送响应。
事件会在所有生命周期钩子和可组合工具中传递,以便使用它作为上下文。
示例:
import { getQuery, readJSONBody } from "h3";
app.use(async (event) => {
// 记录事件。`.toString()` 将转换为一个简单字符串,如 `[GET] /<path>`
console.log(`请求: ${event.toString()}`);
// 解析查询参数
const query = getQuery(event);
// 尝试读取请求体
const body = await readJSONBody(event).catch(() => {});
// 将请求回显为响应
return {
path: event.path,
method: event.method,
query,
body,
};
});
属性
事件的主要属性包括:
event.method
访问规范化的(大写)请求 方法。
event.path
访问请求路径。(示例: /test?test=123
)
event.headers
访问规范化的请求 头部。
event.context
上下文是一个对象,包含有关请求的任意信息。
你可以在 event.context
中存储自定义属性,以便在可组合工具中共享。
context
包含有关请求的一些上下文信息。headers
具有请求头的 规范化版本。handled
是一个布尔值,指示请求是否已经结束。
!提示 你也可以使用
getRequestHeaders(event)
或getRequestHeader(event, name)
来获取简化界面。