Đối tượng event (một instance của RequestEvent) được truyền vào handle cũng chính là event trong API routes ở +server.js, form actions ở +page.server.js, và các hàm load trong +page.server.js và +layout.server.js.
Nó chứa một số thuộc tính hữu ích và phương thức, một số trong số đó chúng ta đã gặp:
cookies— API cookiesfetch— Fetch API tiêu chuẩn, với các tính năng bổ sunggetClientAddress()— một hàm để lấy địa chỉ IP của clientisDataRequest—truenếu trình duyệt đang yêu cầu dữ liệu cho một trang trong quá trình điều hướng ở phía client,falsenếu một trang/route đang được yêu cầu trực tiếplocals— nơi để đặt dữ liệu tùy ýparams— các tham số routerequest— Request objectroute— một object với một thuộc tínhidđại diện cho tuyến đường đã được khớpsetHeaders(...)— một hàm để setting HTTP headers cho responseurl— một URL object đại diện cho request hiện tại
Để thuận tiện, ta có thể thêm dữ liệu vào event.locals trong handle để truy cập được trong các hàm load tiếp theo:
src/hooks.server.js
export async function handle({ event, resolve }) {
event.locals.answer = 42;
return await resolve(event);
}src/routes/+page.server.js
export function load(event) {
return {
message: `Câu trả lời là ${event.locals.answer}`
};
}