Spaces:
Sleeping
Sleeping
| var assert = require('assert'), | |
| fs = require('fs'), | |
| path = require('path'), | |
| request = require('request'), | |
| vows = require('vows'), | |
| union = require('../'); | |
| vows.describe('union/streaming').addBatch({ | |
| 'When using `union`': { | |
| 'a simple union server': { | |
| topic: function () { | |
| var self = this; | |
| union.createServer({ | |
| buffer: false, | |
| before: [ | |
| function (req, res, next) { | |
| var chunks = ''; | |
| req.on('data', function (chunk) { | |
| chunks += chunk; | |
| }); | |
| req.on('end', function () { | |
| self.callback(null, chunks); | |
| }); | |
| } | |
| ] | |
| }).listen(9000, function () { | |
| request.post('http://localhost:9000').write('hello world'); | |
| }); | |
| }, | |
| 'should receive complete POST data': function (chunks) { | |
| assert.equal(chunks, 'hello world'); | |
| } | |
| }, | |
| "a simple pipe to a file": { | |
| topic: function () { | |
| var self = this; | |
| union.createServer({ | |
| before: [ | |
| function (req, res, next) { | |
| var filename = path.join(__dirname, 'fixtures', 'pipe-write-test.txt'), | |
| writeStream = fs.createWriteStream(filename); | |
| req.pipe(writeStream); | |
| writeStream.on('close', function () { | |
| res.writeHead(200); | |
| fs.createReadStream(filename).pipe(res); | |
| }); | |
| } | |
| ] | |
| }).listen(9044, function () { | |
| request({ | |
| method: 'POST', | |
| uri: 'http://localhost:9044', | |
| body: 'hello world' | |
| }, self.callback); | |
| }); | |
| }, | |
| 'should receive complete POST data': function (err, res, body) { | |
| assert.equal(body, 'hello world'); | |
| } | |
| } | |
| } | |
| }).export(module); | |