7631c1cac5
`url` object is an instance of `url.URL` which has no property called `query` and it's causing an error with Next image-optimizer as you can see with the error log below. ```log TypeError: Cannot destructure property 'url' of 'parsedUrl.query' as it is undefined. at imageOptimizer (/[redacted]/node_modules/next/next-server/server/image-optimizer.ts:51:11) at Object.fn (/[redacted]/node_modules/next/next-server/server/next-server.ts:617:11) at Router.execute (/[redacted]/node_modules/next/next-server/server/router.ts:200:40) at DevServer.run (/[redacted]/node_modules/next/next-server/server/next-server.ts:1017:41) at DevServer.run (/[redacted]/node_modules/next/server/next-dev-server.ts:406:18) at DevServer.handleRequest (/[redacted]/node_modules/next/next-server/server/next-server.ts:437:14) at /[redacted]/server/next-wrapper.ts:9:5 ```
27 lines
531 B
JavaScript
27 lines
531 B
JavaScript
const nextHandlerWrapper = (app) => {
|
|
const handler = app.getRequestHandler()
|
|
return async ({ raw, url, query }, h) => {
|
|
url.query = query
|
|
await handler(raw.req, raw.res, url)
|
|
return h.close
|
|
}
|
|
}
|
|
|
|
const pathWrapper = (app, pathName, opts) => async (
|
|
{ raw, query, params },
|
|
h
|
|
) => {
|
|
const html = await app.render(
|
|
raw.req,
|
|
raw.res,
|
|
pathName,
|
|
{ ...query, ...params },
|
|
opts
|
|
)
|
|
return h.response(html).code(raw.res.statusCode)
|
|
}
|
|
|
|
module.exports = {
|
|
pathWrapper,
|
|
nextHandlerWrapper,
|
|
}
|