mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
20 lines
641 B
JavaScript
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 }
|