* Ensure all Express 'next' calls include 'return's * Add headersSent checks during archived versions flow * Return a 404 earlier if archived resource fetch fails * Short-circuit responses for archived stuff * Be more careful about responding to and short-circuiting after search requests * Fix tests
24 lines
575 B
JavaScript
24 lines
575 B
JavaScript
const next = require('next')
|
|
|
|
const { NODE_ENV, FEATURE_NEXTJS } = process.env
|
|
const isDevelopment = NODE_ENV === 'development'
|
|
|
|
let nextHandleRequest
|
|
if (FEATURE_NEXTJS) {
|
|
const nextApp = next({ dev: isDevelopment })
|
|
nextHandleRequest = nextApp.getRequestHandler()
|
|
nextApp.prepare()
|
|
}
|
|
|
|
function renderPageWithNext (req, res, next) {
|
|
if (req.path.startsWith('/_next') && !req.path.startsWith('/_next/data')) {
|
|
return nextHandleRequest(req, res)
|
|
}
|
|
|
|
return next()
|
|
}
|
|
|
|
renderPageWithNext.nextHandleRequest = nextHandleRequest
|
|
|
|
module.exports = renderPageWithNext
|