Browse Source

Parse application/json as JSON and expose as req.body

pull/20/head
Luke Childs 6 years ago
parent
commit
36adefcea8
  1. 1
      package.json
  2. 2
      src/index.js
  3. 15
      test/create-test-server.js

1
package.json

@ -36,6 +36,7 @@
}, },
"homepage": "https://github.com/lukechilds/create-test-server", "homepage": "https://github.com/lukechilds/create-test-server",
"dependencies": { "dependencies": {
"body-parser": "^1.18.2",
"create-cert": "^1.0.2", "create-cert": "^1.0.2",
"express": "^4.15.3", "express": "^4.15.3",
"pify": "^3.0.0" "pify": "^3.0.0"

2
src/index.js

@ -5,6 +5,7 @@ const https = require('https');
const express = require('express'); const express = require('express');
const pify = require('pify'); const pify = require('pify');
const createCert = require('create-cert'); const createCert = require('create-cert');
const bodyParser = require('body-parser');
const createTestServer = opts => createCert(opts && opts.certificate) const createTestServer = opts => createCert(opts && opts.certificate)
.then(keys => { .then(keys => {
@ -23,6 +24,7 @@ const createTestServer = opts => createCert(opts && opts.certificate)
}; };
app.set('etag', false); app.set('etag', false);
app.use(bodyParser.json({ type: 'application/json' }));
app.caCert = keys.caCert; app.caCert = keys.caCert;

15
test/create-test-server.js

@ -78,6 +78,21 @@ test('server listens for SSL traffic', async t => {
t.is(body, 'bar'); t.is(body, 'bar');
}); });
test('server automatically parses JSON request body', async t => {
const server = await createTestServer();
const object = { foo: 'bar' };
server.post('/echo', (req, res) => {
t.deepEqual(req.body, object);
res.end();
});
await got.post(server.url + '/echo', {
headers: { 'content-type': 'application/json' },
body: JSON.stringify(object)
});
});
test('opts.certificate is passed through to createCert()', async t => { test('opts.certificate is passed through to createCert()', async t => {
const server = await createTestServer({ certificate: 'foo.bar' }); const server = await createTestServer({ certificate: 'foo.bar' });

Loading…
Cancel
Save