UNPKG

@volumax/requests

Version:
50 lines (48 loc) 2.19 kB
// Interfaces import { R } from ".." import { CsrfResponse } from "../interfaces/i_CsrfResponse" export async function fetchAction(request: Request, ctx: R): Promise<Response> { const res = await fetch(request) .then( async data => { if(!data.ok){ return Promise.reject(data.status) } return data })/* .catch(async function (error) { switch(error){ case 459: if(ctx.csrfUrl == undefined) throw new Error('CSRF invalid') const csrf: CsrfResponse = await ctx.getJSON({url: ctx.csrfUrl}) as CsrfResponse ctx.setGeneralHeader('X-CSRF-Token', csrf.csrf_token) ctx.setGetHeader('X-CSRF-Token', csrf.csrf_token) ctx.setPostHeader('X-CSRF-Token', csrf.csrf_token) ctx.setPutHeader('X-CSRF-Token', csrf.csrf_token) ctx.setDeleteHeader('X-CSRF-Token', csrf.csrf_token) request.headers.set('X-CSRF-Token', csrf.csrf_token) console.log('New CSRF-Token set') console.log('Fetch again') console.log(request) const settings: RequestInit = { body: request.body, cache: request.cache, credentials : request.credentials, headers: request.headers, integrity: request.integrity, keepalive : request.keepalive, method: request.method, mode: request.mode, redirect: request.redirect, referrer: request.referrer, referrerPolicy: request.referrerPolicy, signal: request.signal } const rqst = new Request(request.url, settings) console.log('NEW Request') return await fetch(rqst) break; } }) */ console.log('Response') console.log(res) return res }