diff --git a/README.md b/README.md index d87d1d1..ea76878 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ import { Context, HttpRequest, } from "@azure/functions"; -import { proxyAzureRequest } from "@sctg/nocors/Azure/index.js"; +import { proxyAzureRequest } from "@sctg/nocors"; const WHITELIST_REGEX=".*" const httpTrigger: AzureFunction = async function ( @@ -42,7 +42,7 @@ npm i -D --save @cloudflare/workers-types ``` create a /functions/proxy.ts file ```ts -import {proxyRequest} from "@sctg/nocors/Pages" +import {proxyRequest} from "@sctg/nocors" const WHITELIST_REGEX=".*" export const onRequest: PagesFunction = async (context) => { return proxyRequest(context,WHITELIST_REGEX) diff --git a/index.ts b/index.ts index 6154041..732c357 100644 --- a/index.ts +++ b/index.ts @@ -5,6 +5,8 @@ */ import type { HttpRequestHeaders, HttpResponseHeaders } from "@azure/functions"; import packageVersion from "./package.json" assert { type: "json" }; +import { proxyAzureRequest as _proxyAzureRequest } from "./Azure/index.js"; +import { proxyPagesRequest as _proxyPagesRequest } from "./Pages/index.js"; export declare type Method = | "GET" @@ -52,19 +54,18 @@ export function fromEntries( } export class _Headers extends Map { - constructor(headers: Headers|Map|HttpRequestHeaders) { // - let _headers:Map - if (headers.hasOwnProperty('append')){ + constructor(headers: Headers | Map | HttpRequestHeaders) { + // + let _headers: Map; + if (headers.hasOwnProperty("append")) { // headers is of Headers|Map - _headers = new Map((headers as Headers).entries()) - } - else if (headers.hasOwnProperty('has')){ + _headers = new Map((headers as Headers).entries()); + } else if (headers.hasOwnProperty("has")) { // headers is of Headers|Map - _headers = headers as Map - } - else{ + _headers = headers as Map; + } else { //headers is HttpRequestHeaders - _headers = new Map(Object.entries(headers)) + _headers = new Map(Object.entries(headers)); } super(_headers); } @@ -88,22 +89,6 @@ export const cleanRequestHeaders = (headers: _Headers): _Headers => { return requestHeaders; }; -/** - * Remove conflicting headers - * @param headers - * @returns a copy of the source headers - */ -// const cleanRequestHeaders = (headers: Headers): Headers => { -// const requestHeaders: Headers = { ...headers }; //real copy -// "X-Content-Type-Options" in requestHeaders -// ? delete requestHeaders["X-Content-Type-Options"] -// : ""; - -// "host" in requestHeaders ? delete requestHeaders["host"] : ""; -// "connection" in requestHeaders ? delete requestHeaders["connection"] : ""; -// return requestHeaders; -// }; - /** * Cosntruct a minimal set of CORS headers * @param origin CORS origin @@ -124,15 +109,5 @@ export const getCorsHeaders = ( }; }; -// const getCorsHeaders = (origin: string | null, method: Method): Headers => { -// const headersInit: HeadersInit = { -// "Access-Control-Allow-Origin": origin || "*", -// "Access-Control-Allow-Credentials": "true", -// "Access-Control-Allow-Headers": -// "Origin, X-Requested-With, Content-Type, Content-Encoding, Accept", -// "Access-Control-Allow-Methods": "OPTIONS, GET, POST, PATCH, PUT, DELETE", -// Via: `noCors-for-Cloudflare-Pages v${packageVersion.version}`, -// "x-original-method": method, -// }; -// return new Headers(headersInit); -// }; +export const proxyAzureRequest = _proxyAzureRequest; +export const proxyPagesRequest = _proxyPagesRequest; \ No newline at end of file diff --git a/package.json b/package.json index ec63b8c..b9c223a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sctg/nocors", - "version": "0.9.9", + "version": "0.9.10", "description": "Minimalist noCors proxy for servless app", "main": "dist/index.js", "types": "dist/index.d.ts",