node package manager

hapi-qs

Hapi plugin to bring back qs support

Hapi QS

Build Status

Hapi plugin that brings back qs support for Hapi 12. Qs support has been removed from Hapi 12 (https://github.com/hapijs/hapi/issues/2985), this plugin aims to bring it back.

Install

npm install hapi-qs

Usage

  const server = new Hapi.Server();
 
  server.connection({ port: port });
 
  \\...
 
  server.register({
      register: require('hapi-qs'),
      options: {} /* optional */
    },
    err => {
      \\...
    });
 
  \\...

Parsing query

  server.route({
    method: 'GET',
    path: '/',
    handler: function (request, reply) {
      return reply(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

  server.route({
    method: 'POST',
    path: '/',
    handler: function (request, reply) {
      return reply(request.payload); // request.query constains the parsed values 
    }
  });

Options

  • 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