chubbyts-cors
Description
A CORS middleware for @chubbyts/chubbyts-http-types.
Apply toLowerCase() to each related request header name before pass the request to this middleware.
Requirements
Installation
Through NPM as @chubbyts/chubbyts-cors.
npm i @chubbyts/chubbyts-cors@^1.2.1
Usage
import { createCorsMiddleware } from '@chubbyts/chubbyts-cors/dist/middleware';
import {
createAllowOriginRegex,
createHeadersNegotiator,
createMethodNegotiator,
createOriginNegotiator,
} from '@chubbyts/chubbyts-cors/dist/negotiation';
import { createResponseFactory } from '@chubbyts/chubbyts-http/dist/message-factory';
import { Method } from '@chubbyts/chubbyts-http-types/dist/message';
const corsMiddleware = createCorsMiddleware(
createResponseFactory(),
createOriginNegotiator([createAllowOriginRegex(/^https?\:\/\/localhost(\:\d+)?$/)]),
createMethodNegotiator([Method.GET, Method.POST, Method.PUT, Method.DELETE]),
createHeadersNegotiator(['Content-Type', 'Accept']),
);
(async () => {
const response = await corsMiddleware(request, handler);
})();
Copyright
2023 Dominik Zogg