1
0
Fork 0
mirror of https://github.com/kou029w/_.git synced 2025-01-30 13:58:08 +00:00
_/fastify-http-errors-enhanced/server.mjs

49 lines
1.2 KiB
JavaScript

import fastify from "fastify";
import fastifyHttpErrorsEnhanced from "fastify-http-errors-enhanced";
import { ForbiddenError } from "http-errors-enhanced";
const server = fastify();
await server.register(fastifyHttpErrorsEnhanced);
// code プロパティが失われる
server.get("/error", () => new ForbiddenError());
// これらは同じで、エラーの引数のメッセージだったものが、スタックトレースが取れるようになる
// また、NODE_ENV=production のとき "An error occurred trying to process your request." にすべて置き換わる
server.get("/return", {
handler() {
return new Error("return.");
},
});
server.get("/throw", {
handler() {
throw new Error("throw.");
},
});
server.get("/async", {
async handler() {
throw new Error("async.");
},
});
server.get("/async-return", {
async handler() {
return new Error("async return.");
},
});
server.get("/validation", {
schema: {
// 400 エラーの構造が変わり failedValidations.query.a プロパティが生える
querystring: {
type: "object",
properties: { a: { type: "string" } },
required: ["a"],
},
},
async handler() {
return "ok";
},
});
await server.listen({ port: 3000 });