Hapi plugin that brings back qs support that was removed in Hapi 12 (hapijs/hapi#2985).
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 [email protected]
const server = new Hapi.Server();
await server.register({
plugin: require('hapi-qs'),
options: {} /* optional */
});
server.route({
method: 'GET',
path: '/',
handler: (request, h) => {
return request.query; // request.query constains the parsed values
}
});
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: (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
ormultipart/form-data
)
npm test