All files / server/middleware security.ts

100% Statements 9/9
100% Branches 4/4
100% Functions 0/0
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 121x   1x 6x 6x 6x   6x 1x 1x 6x  
const safeMethods = new Set(['GET', 'HEAD', 'OPTIONS'])
 
export default defineEventHandler(event => {
    const method = event.method.toUpperCase()
    const path = getRequestURL(event).pathname
    const isWebhook = path === '/api/webhooks/stripe'
 
    if (!safeMethods.has(method) && !isWebhook && getHeader(event, 'sec-fetch-site') === 'cross-site') {
        throw createError({statusCode: 403, statusMessage: 'Requête intersite refusée'})
    }
})