2.0.0 • Published 6 years ago

@soxhub/hapi-qs v2.0.0

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

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