Skip to main content


This middleware automatically parses HTTP requests with URL-encoded body (typically the result of a form submit). Also handles gracefully broken URL encoding as Unsupported Media Type (415 errors)


To install this middleware you can use NPM:

npm install --save @middy/http-urlencode-body-parser


  • disableContentTypeError (boolean) (optional): Skip throwing 415 when Content-Type is invalid. Default: true, will default to false in next major version.

Sample usage

import middy from '@middy/core'
import httpHeaderNormalizer from '@middy/http-header-normalizer'
import httpUrlEncodeBodyParser from '@middy/http-urlencode-body-parser'

const lambdaHandler = (event, context) => {
return event.body // propagates the body as response

export const handler = middy()

// When Lambda runs the handler with a sample event...
const event = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
body: 'frappucino=muffin&goat%5B%5D=scone&pond=moose'

handler(event, {}, (_, body) => {
t.deepEqual(body, {
frappucino: 'muffin',
'goat[]': 'scone',
pond: 'moose'