You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.0 KiB

var http = require('http')
var fs = require('fs')
var toPull = require('../')
var pull = require('pull-stream')
var port = ~~(Math.random()*40000) + 1024
var test = require('tape')
var thisFile = fs.readFileSync(__filename, 'utf-8')
test('test http', function (t) {
var server = http.createServer(function (req, res) {
pull(
toPull(req),
pull.reduce(function (b, s) {
return b + s
}, '', function (err, body) {
t.equal(body, thisFile)
t.notOk(err)
res.end('done')
})
)
}).listen(port, function () {
fs.createReadStream(__filename)
.pipe(http.request({method: 'PUT', port: port}, function (res) {
console.log(res.statusCode)
var _res = toPull(res)
setTimeout(function () {
pull(
_res,
pull.collect(function (err, ary) {
t.equal(ary.map(String).join(''), 'done')
t.end()
})
)
}, 200)
server.close()
}))
})
})