@furystack/rest-service
Version:
Repository implementation for FuryStack
23 lines • 1.09 kB
JavaScript
/**
* Adds the specified CORS headers to the response
* @param options The CORS Options object
* @param incomingMessage The incoming message instance
* @param serverResponse The outgoing response instance
*/
export const addCorsHeaders = (options, incomingMessage, serverResponse) => {
if (incomingMessage.headers &&
incomingMessage.headers.origin !== incomingMessage.headers.host &&
options.origins.some((origin) => origin === incomingMessage.headers.origin)) {
serverResponse.setHeader('Access-Control-Allow-Origin', incomingMessage.headers.origin);
if (options.credentials) {
serverResponse.setHeader('Access-Control-Allow-Credentials', 'true');
}
if (options.headers && options.headers.length) {
serverResponse.setHeader('Access-Control-Allow-Headers', options.headers.join(', '));
}
if (options.methods && options.methods.length) {
serverResponse.setHeader('Access-Control-Allow-Methods', options.methods.join(', '));
}
}
};
//# sourceMappingURL=add-cors-header.js.map