Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeross Aboukhadijeh <feross@feross.org>2014-10-14 09:03:38 +0400
committerFeross Aboukhadijeh <feross@feross.org>2014-10-14 09:03:38 +0400
commitd69d6b68802b65e05381cdb7ab66acf58616d39b (patch)
treeef15891feee1c73cd58726756e1ca453b9f9b67d /lib/server.js
parent5c60b761c5735049f8c99e393814e55022138231 (diff)
allow CORS range requests
Diffstat (limited to 'lib/server.js')
-rw-r--r--lib/server.js19
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/server.js b/lib/server.js
index 9809df7..a8c9973 100644
--- a/lib/server.js
+++ b/lib/server.js
@@ -15,8 +15,21 @@ module.exports = function Server (webtorrent, port) {
server.on('request', function (req, res) {
debug('onRequest')
+ // Allow CORS requests to specify arbitrary headers, e.g. 'Range',
+ // by responding to the OPTIONS preflight request with the specified
+ // origin and requested headers.
+ if (req.method === 'OPTIONS' && req.headers['access-control-request-headers']) {
+ res.setHeader('Access-Control-Allow-Origin', req.headers.origin)
+ res.setHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
+ res.setHeader(
+ 'Access-Control-Allow-Headers',
+ req.headers['access-control-request-headers'])
+ res.setHeader('Access-Control-Max-Age', '1728000')
+ return res.end()
+ }
+
if (req.headers.origin)
- res.setHeader('access-control-allow-origin', req.headers.origin)
+ res.setHeader('Access-Control-Allow-Origin', req.headers.origin)
var u = url.parse(req.url)
if (u.pathname === '/favicon.ico') return res.end()
@@ -34,8 +47,8 @@ module.exports = function Server (webtorrent, port) {
function onTorrent (torrent) {
var file = torrent.files[i]
- res.setHeader('accept-ranges', 'bytes')
- res.setHeader('content-type', mime.lookup(file.name))
+ res.setHeader('Accept-Ranges', 'bytes')
+ res.setHeader('Content-Type', mime.lookup(file.name))
res.statusCode = 206
var range