From 0ccb7602873ff6e83eef8eed3a8c33727452e20a Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Mon, 31 Oct 2022 15:23:32 +0100 Subject: [PATCH] fix(nextjs): Await Next.js server in patched `getServerRequestHandler` (#6072) --- packages/nextjs/src/utils/instrumentServer.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/nextjs/src/utils/instrumentServer.ts b/packages/nextjs/src/utils/instrumentServer.ts index dbfc0a91d45c..30967d5c28fb 100644 --- a/packages/nextjs/src/utils/instrumentServer.ts +++ b/packages/nextjs/src/utils/instrumentServer.ts @@ -22,6 +22,7 @@ type PlainObject = { [key: string]: T }; // https://github.com/vercel/next.js/blob/4443d6f3d36b107e833376c2720c1e206eee720d/packages/next/server/next.ts#L32 interface NextServer { server: Server; + getServer: () => Promise; createServer: (options: PlainObject) => Server; } @@ -131,7 +132,7 @@ function makeWrappedHandlerGetter(origHandlerGetter: HandlerGetter): WrappedHand const wrappedHandlerGetter = async function (this: NextServer): Promise { if (!sdkSetupComplete) { // stash this in the closure so that `makeWrappedReqHandler` can use it - liveServer = this.server; + liveServer = await this.getServer(); const serverPrototype = Object.getPrototypeOf(liveServer); // Wrap for error capturing (`logError` gets called by `next` for all server-side errors)