UNPKG

@mangadex-pub/nuxt-security

Version:

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

20 lines (19 loc) 734 B
import { defineEventHandler, createError } from "h3"; import { getRouteRules } from "#imports"; export default defineEventHandler((event) => { const routeRules = getRouteRules(event); const allowedMethodsRestricter = routeRules.security.allowedMethodsRestricter; if (allowedMethodsRestricter !== false) { const allowedMethods = allowedMethodsRestricter.methods; if (!allowedMethods.includes(event.node.req.method)) { const methodNotAllowedError = { statusCode: 405, statusMessage: "Method not allowed" }; if (routeRules.security.allowedMethodsRestricter.throwError === false) { return methodNotAllowedError; } throw createError(methodNotAllowedError); } } });