node package manager


Hapi QS

Build Status

Hapi plugin that brings back qs support that was removed in Hapi 12 (

hapi-qs v1.1.3 is for Hapi v12 to v16. hapi-qs v2+ support Hapi v17 only.


npm install hapi-qs

Or for pre-Hapi 17:

npm install hapi-qs@1.1.3


const server = new Hapi.Server();
await server.register({
  plugin: require('hapi-forwarded-for'),
  options: {} /* optional */

Parsing query

    method: 'GET',
    path: '/',
    handler: (request, h) => {
      return request.query; // request.query constains the parsed values

Parsing payload

Payload will only be parsed if content-type is set to a kind of x-www-form-urlencoded or multipart/form-data

    method: 'POST',
    path: '/',
    handler: (request, h) => {
      return request.payload; // request.query constains the parsed values


  • qsOptions (default undefined): This object is past directly to Qs parse method (more info)
  • queryString (default true): whether to parse query string
  • payload: whether to parse payload (it is valid only when content-type header is a kind of x-www-form-urlencoded or multipart/form-data)

Running tests

  npm test