diff options
Diffstat (limited to 'node_modules/stream-http/test/server/index.js')
-rw-r--r-- | node_modules/stream-http/test/server/index.js | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/node_modules/stream-http/test/server/index.js b/node_modules/stream-http/test/server/index.js deleted file mode 100644 index 0a74aed85..000000000 --- a/node_modules/stream-http/test/server/index.js +++ /dev/null @@ -1,137 +0,0 @@ -var cookieParser = require('cookie-parser') -var basicAuth = require('basic-auth') -var express = require('express') -var fs = require('fs') -var http = require('http') -var path = require('path') -var url = require('url') - -var app = express() -var server = http.createServer(app) - -// Otherwise, use 'application/octet-stream' -var copiesMimeTypes = { - '/basic.txt': 'text/plain' -} - -var maxDelay = 5000 // ms - -// This should make sure bodies aren't cached -// so the streaming tests always pass -app.use(function (req, res, next) { - res.setHeader('Cache-Control', 'no-store') - next() -}) - -app.get('/testHeaders', function (req, res) { - var parsed = url.parse(req.url, true) - - // Values in query parameters are sent as response headers - Object.keys(parsed.query).forEach(function (key) { - res.setHeader('Test-' + key, parsed.query[key]) - }) - - res.setHeader('Content-Type', 'application/json') - res.setHeader('Cache-Control', 'no-cache') - - // Request headers are sent in the body as json - var reqHeaders = {} - Object.keys(req.headers).forEach(function (key) { - key = key.toLowerCase() - if (key.indexOf('test-') === 0) { - // different browsers format request headers with multiple values - // slightly differently, so normalize - reqHeaders[key] = req.headers[key].replace(', ', ',') - } - }) - - var body = JSON.stringify(reqHeaders) - res.setHeader('Content-Length', body.length) - res.write(body) - res.end() -}) - -app.get('/cookie', cookieParser(), function (req, res) { - res.setHeader('Content-Type', 'text/plain') - res.write('hello=' + req.cookies.hello) - res.end() -}) - -app.get('/auth', function (req, res) { - var user = basicAuth(req) - - if (!user || user.name !== 'TestUser' || user.pass !== 'trustno1') { - res.setHeader('WWW-Authenticate', 'Basic realm="example"') - res.end('Access denied') - } else { - res.setHeader('Content-Type', 'text/plain') - res.write('You\'re in!') - res.end() - } -}) - -app.post('/echo', function (req, res) { - res.setHeader('Content-Type', 'application/octet-stream') - req.pipe(res) -}) - -app.use('/verifyEmpty', function (req, res) { - var empty = true - req.on('data', function (buf) { - if (buf.length > 0) { - empty = false - } - }) - req.on('end', function () { - res.setHeader('Content-Type', 'text/plain') - - if (empty) { - res.end('empty') - } else { - res.end('not empty') - } - }) -}) - -app.use(function (req, res, next) { - var parsed = url.parse(req.url, true) - - if ('copies' in parsed.query) { - var totalCopies = parseInt(parsed.query.copies, 10) - function fail () { - res.statusCode = 500 - res.end() - } - fs.readFile(path.join(__dirname, 'static', parsed.pathname), function (err, data) { - if (err) - return fail() - - var mimeType = copiesMimeTypes[parsed.pathname] || 'application/octet-stream' - res.setHeader('Content-Type', mimeType) - res.setHeader('Content-Length', data.length * totalCopies) - var pieceDelay = maxDelay / totalCopies - if (pieceDelay > 100) - pieceDelay = 100 - - function write (copies) { - if (copies === 0) - return res.end() - - res.write(data, function (err) { - if (err) - return fail() - setTimeout(write.bind(null, copies - 1), pieceDelay) - }) - } - write(totalCopies) - }) - return - } - next() -}) - -app.use(express.static(path.join(__dirname, 'static'))) - -var port = parseInt(process.env.AIRTAP_PORT) || 8199 -console.log('Test server listening on port', port) -server.listen(port) |