1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/custom-server-hapi/next-wrapper.js
2017-12-05 10:42:57 -08:00

20 lines
641 B
JavaScript

const { parse } = require('url')
const nextHandlerWrapper = app => {
const handler = app.getRequestHandler()
return async ({ raw, url }, h) => {
await handler(raw.req, raw.res, url)
return h.close
}
}
const defaultHandlerWrapper = app => async ({ raw: { req, res }, url }) => {
const { pathname, query } = parse(url, true)
return app.renderToHTML(req, res, pathname, query)
}
const pathWrapper = (app, pathName, opts) => async ({ raw, query, params }) => {
return app.renderToHTML(raw.req, raw.res, pathName, { ...query, ...params }, opts)
}
module.exports = { pathWrapper, defaultHandlerWrapper, nextHandlerWrapper }