Name: js-handler/node_modules/restify/node_modules/formidable/example/json.js 
1:
var common = require('../test/common'),
2:
    http = require('http'),
3:
    util = require('util'),
4:
    formidable = common.formidable,
5:
    Buffer = require('buffer').Buffer,
6:
    port = common.port,
7:
    server;
8:
 
9:
server = http.createServer(function(req, res) {
10:
  if (req.method !== 'POST') {
11:
    res.writeHead(200, {'content-type': 'text/plain'})
12:
    res.end('Please POST a JSON payload to http://localhost:'+port+'/')
13:
    return;
14:
  }
15:
 
16:
  var form = new formidable.IncomingForm(),
17:
      fields = {};
18:
 
19:
  form
20:
    .on('error', function(err) {
21:
      res.writeHead(500, {'content-type': 'text/plain'});
22:
      res.end('error:\n\n'+util.inspect(err));
23:
      console.error(err);
24:
    })
25:
    .on('field', function(field, value) {
26:
      console.log(field, value);
27:
      fields[field] = value;
28:
    })
29:
    .on('end', function() {
30:
      console.log('-> post done');
31:
      res.writeHead(200, {'content-type': 'text/plain'});
32:
      res.end('received fields:\n\n '+util.inspect(fields));
33:
    });
34:
  form.parse(req);
35:
});
36:
server.listen(port);
37:
 
38:
console.log('listening on http://localhost:'+port+'/');
39:
 
40:
 
41:
var request = http.request({
42:
  host: 'localhost',
43:
  path: '/',
44:
  port: port,
45:
  method: 'POST',
46:
  headers: { 'content-type':'application/json', 'content-length':48 }
47:
}, function(response) {
48:
  var data = '';
49:
  console.log('\nServer responded with:');
50:
  console.log('Status:', response.statusCode);
51:
  response.pipe(process.stdout);
52:
  response.on('end', function() {
53:
    console.log('\n')
54:
    process.exit();
55:
  });
56:
  // response.on('data', function(chunk) {
57:
  //   data += chunk.toString('utf8');
58:
  // });
59:
  // response.on('end', function() {
60:
  //   console.log('Response Data:')
61:
  //   console.log(data);
62:
  //   process.exit();
63:
  // });
64:
})
65:
 
66:
request.write('{"numbers":[1,2,3,4,5],"nested":{"key":"value"}}');
67:
request.end();