From a8264f2c61f8606e9b581f3b1b7c5554037a100e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Tue, 10 Sep 2019 11:21:43 +0200 Subject: [PATCH] implement CORS --- package-lock.json | 14 ++++++++++++++ package.json | 1 + server.js | 11 +++++++++++ 3 files changed, 26 insertions(+) diff --git a/package-lock.json b/package-lock.json index 8f74abe..35322b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,6 +96,15 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -303,6 +312,11 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", diff --git a/package.json b/package.json index 4f82bdd..82330bd 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "license": "MIT", "dependencies": { "body-parser": "^1.17.2", + "cors": "^2.8.5", "express": "latest", "underscore": "^1.8.3" }, diff --git a/server.js b/server.js index b973018..8400846 100644 --- a/server.js +++ b/server.js @@ -1,11 +1,19 @@ // Dependencies var express = require("express"); +var cors = require('cors') var _ = require("underscore"); var bodyParser = require('body-parser'); var util = require('util'); +// CORS Setup +var corsConfig = { + "origin": true, + "credentials": true +}; + // ExpressJS Setup var app = express(); +app.use(cors(corsConfig)); // Handle CORS requests var router = express.Router(); var port = 8080; @@ -13,6 +21,9 @@ var pets = { "1": {"id":1,"name":"Eclair","tag":"cat"}, "2": {"id":2,"name":"Cannelle","tag":"cat"} }; var counter = 3; +// Handle CORS pre-flight request +app.options('*', cors(corsConfig)); + // Log every request router.use(function (req,res,next) { next();