Name: js-handler/node_modules/restify/node_modules/formidable/test/standalone/test-issue-46.js
| 1: | var http = require('http'), |
| 2: | formidable = require('../../lib/index'), |
| 3: | request = require('request'), |
| 4: | assert = require('assert'); |
| 5: | |
| 6: | var host = 'localhost'; |
| 7: | |
| 8: | var index = [ |
| 9: | '<form action="/" method="post" enctype="multipart/form-data">', |
| 10: | ' <input type="text" name="foo" />', |
| 11: | ' <input type="submit" />', |
| 12: | '</form>' |
| 13: | ].join("\n"); |
| 14: | |
| 15: | var server = http.createServer(function(req, res) { |
| 16: | |
| 17: | // Show a form for testing purposes. |
| 18: | if (req.method == 'GET') { |
| 19: | res.writeHead(200, {'content-type': 'text/html'}); |
| 20: | res.end(index); |
| 21: | return; |
| 22: | } |
| 23: | |
| 24: | // Parse form and write results to response. |
| 25: | var form = new formidable.IncomingForm(); |
| 26: | form.parse(req, function(err, fields, files) { |
| 27: | res.writeHead(200, {'content-type': 'text/plain'}); |
| 28: | res.write(JSON.stringify({err: err, fields: fields, files: files})); |
| 29: | res.end(); |
| 30: | }); |
| 31: | |
| 32: | }).listen(0, host, function() { |
| 33: | |
| 34: | console.log("Server up and running..."); |
| 35: | |
| 36: | var server = this, |
| 37: | url = 'http://' + host + ':' + server.address().port; |
| 38: | |
| 39: | var parts = [ |
| 40: | {'Content-Disposition': 'form-data; name="foo"', 'body': 'bar'} |
| 41: | ] |
| 42: | |
| 43: | var req = request({method: 'POST', url: url, multipart: parts}, function(e, res, body) { |
| 44: | var obj = JSON.parse(body); |
| 45: | assert.equal("bar", obj.fields.foo); |
| 46: | server.close(); |
| 47: | }); |
| 48: | |
| 49: | }); |
