Hapi QS
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
ormultipart/form-data
)
Running tests
npm test