UNPKG

nuxt-security

Version:

🛡️ Security Module for Nuxt based on HTTP Headers and Middleware

20 lines (19 loc) 749 B
import { defineEventHandler, createError } from "h3"; import { resolveSecurityRules } from "../../nitro/context/index.js"; export default defineEventHandler((event) => { const rules = resolveSecurityRules(event); if (rules.enabled && rules.allowedMethodsRestricter) { const { allowedMethodsRestricter } = rules; const allowedMethods = allowedMethodsRestricter.methods; if (allowedMethods !== "*" && !allowedMethods.includes(event.node.req.method)) { const methodNotAllowedError = { statusCode: 405, statusMessage: "Method not allowed" }; if (allowedMethodsRestricter.throwError === false) { return methodNotAllowedError; } throw createError(methodNotAllowedError); } } });