Skip to content

Commit 2d82f03

Browse files
authored
Allow CORS and CORP Headers, Enabling SharedArrayBuffer (#164)
* Enable CORP Headers, Allow SharedArrayBuffer Modern Browsers.
1 parent 2154b7e commit 2d82f03

File tree

6 files changed

+99
-1031
lines changed

6 files changed

+99
-1031
lines changed

lib/command.coffee

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,20 @@ runner = ->
8686
required: false,
8787
value: true
8888
}
89+
{
90+
short: "cp"
91+
long: "corp"
92+
description: "Enable CORP Header with cross-origin",
93+
require: false,
94+
value: true
95+
}
96+
{
97+
short: "cs"
98+
long: "cors"
99+
description: "Enable CORS Header for all or specific origins",
100+
require: false,
101+
value: true
102+
}
89103
]
90104

91105
opts.parse(options.reverse(), args, true)

lib/command.js

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/livereload.coffee

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,19 @@ class Server extends EventEmitter
218218
@server.close()
219219

220220
exports.createServer = (config = {}, callback) ->
221+
222+
headers = {
223+
'Content-Type': 'application/javascript'
224+
}
225+
if config?.corp
226+
headers['Cross-Origin-Resource-Policy'] = 'cross-origin'
227+
if config?.cors
228+
headers['Access-Control-Allow-Origin'] = if typeof config.cors is 'string' then config.cors else '*'
229+
headers['Access-Control-Allow-Methods'] = 'OPTIONS, HEAD, GET, POST'
230+
221231
requestHandler = ( req, res )->
222232
if url.parse(req.url).pathname is '/livereload.js'
223-
res.writeHead(200, {'Content-Type': 'text/javascript'})
233+
res.writeHead(200, headers)
224234
res.end fs.readFileSync require.resolve 'livereload-js'
225235
if !config.https?
226236
app = http.createServer requestHandler

lib/livereload.js

Lines changed: 12 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)