Skip to content
This repository was archived by the owner on Feb 4, 2018. It is now read-only.

Commit 2c8a54e

Browse files
committed
Enable cors on deploy and apps
1 parent 735f783 commit 2c8a54e

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
"brfs": "^1.4.3",
4242
"browser-request": "^0.3.3",
4343
"browserify": "^13.0.0",
44+
"cors": "^2.8.1",
4445
"date-and-time": "^0.3.0",
4546
"dom-css": "^2.0.0",
4647
"envify": "^3.4.1",

server/cors-settings.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
var path = require('path')
2+
var fs = require('fs')
3+
4+
var contents = fs.readFileSync(path.join(process.env['HOME'], '.binder/cors.conf'), 'utf8')
5+
module.exports = JSON.parse(contents)

server/index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var expressWs = require('express-ws')
55
var bodyParser = require('body-parser')
66
var app = express()
77
var http = require('http').Server(app)
8+
var cors = require('cors');
89
var io = require('socket.io')(http)
910
var assign = require('object-assign')
1011
var merge = require('lodash.merge')
@@ -20,6 +21,10 @@ app.use('/js', express.static(path.join(__dirname, '../public/js')))
2021
app.use('/css', express.static(path.join(__dirname, '../public/css')))
2122
app.use('/assets', express.static(path.join(__dirname, '../public/assets')))
2223

24+
// Cors options
25+
26+
var launchCorsOptions = require('./cors-settings')
27+
2328
// set once the server is started
2429
var binder = null
2530

@@ -63,15 +68,15 @@ app.get('/validate/:name', function (req, res) {
6368

6469
// API endpoints
6570

66-
app.get('/api/deploy/:templateName', function (req, res) {
71+
app.get('/api/deploy/:templateName', cors(launchCorsOptions), function (req, res) {
6772
var name = req.params.templateName
6873
binder.deployBinder(name, function (err, status) {
6974
if (err) return res.status(500).end()
7075
return res.json(status)
7176
})
7277
})
7378

74-
app.get('/api/apps/:templateName/:id', function (req, res) {
79+
app.get('/api/apps/:templateName/:id', cors(launchCorsOptions), function (req, res) {
7580
var name = req.params.templateName
7681
var id = req.params.id
7782
binder.getDeployStatus(name, id, function (err, status) {

0 commit comments

Comments
 (0)