From 24aaa3218c322c7d142bcda82e3a82c70e8f7440 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Tue, 29 May 2018 09:14:57 +0700 Subject: [PATCH] Parse text/plain as string and expose as req.body --- src/index.js | 1 + test/create-test-server.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/index.js b/src/index.js index 1f67fd2..88695b3 100644 --- a/src/index.js +++ b/src/index.js @@ -25,6 +25,7 @@ const createTestServer = opts => createCert(opts && opts.certificate) app.set('etag', false); app.use(bodyParser.json({ type: 'application/json' })); + app.use(bodyParser.text({ type: 'text/plain' })); app.caCert = keys.caCert; diff --git a/test/create-test-server.js b/test/create-test-server.js index 6553611..62b4c92 100644 --- a/test/create-test-server.js +++ b/test/create-test-server.js @@ -93,6 +93,21 @@ test('server automatically parses JSON request body', async t => { }); }); +test('server automatically parses text request body', async t => { + const server = await createTestServer(); + const text = 'foo'; + + server.post('/echo', (req, res) => { + t.deepEqual(req.body, text); + res.end(); + }); + + await got.post(server.url + '/echo', { + headers: { 'content-type': 'text/plain' }, + body: text + }); +}); + test('opts.certificate is passed through to createCert()', async t => { const server = await createTestServer({ certificate: 'foo.bar' });