var common = require('../common'); var formidable = common.formidable; var http = require('http'); var fs = require('fs'); var path = require('path'); var hashish = require('hashish'); var assert = require('assert'); var testFilePath = path.join(__dirname, '../fixture/file/binaryfile.tar.gz'); var server = http.createServer(function(req, res) { var form = new formidable.IncomingForm(); form.parse(req, function(err, fields, files) { assert.equal(hashish(files).length, 1); var file = files.file; assert.equal(file.size, 301); var uploaded = fs.readFileSync(file.path); var original = fs.readFileSync(testFilePath); assert.deepEqual(uploaded, original); res.end(); server.close(); }); }); var port = common.port; server.listen(port, function(err){ assert.equal(err, null); var request = http.request({ port: port, method: 'POST', headers: { 'Content-Type': 'application/octet-stream' } }); fs.createReadStream(testFilePath).pipe(request); });