rsnext/examples/custom-server-hapi/next-wrapper.js

35 lines
870 B
JavaScript
Raw Normal View History

const { Readable } = require('stream')
function pathWrapper (app, pathName, opts) {
return function (hapiRequest, hapiReply) {
return new Promise((resolve, reject) => {
app.render(hapiRequest.raw.req, hapiRequest.raw.res, pathName, hapiRequest.query, opts)
.catch(error => {
reject(error)
})
.then(() => {
return hapiReply(new Readable().wrap(hapiRequest.raw.res))
})
})
}
}
function defaultHandlerWrapper (app) {
return function (hapiRequest, hapiReply) {
return new Promise((resolve, reject) => {
app.run(hapiRequest.raw.req, hapiRequest.raw.res)
.catch(error => {
reject(error)
})
.then(() => {
return hapiReply(new Readable().wrap(hapiRequest.raw.res))
})
})
}
}
module.exports = {
pathWrapper,
defaultHandlerWrapper
}