1
- // @ts -expect-error Because we cannot be sure if the RequestAsyncStorage module exists (it is not part of the Next.js public
2
- // API) we use a shim if it doesn't exist. The logic for this is in the wrapping loader.
3
- // eslint-disable-next-line import/no-unresolved
4
- import { requestAsyncStorage } from '__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM__' ;
5
1
// @ts -expect-error See above
6
2
// eslint-disable-next-line import/no-unresolved
7
3
import * as routeModule from '__SENTRY_WRAPPING_TARGET_FILE__' ;
@@ -10,8 +6,6 @@ import * as Sentry from '@sentry/nextjs';
10
6
11
7
import type { RequestAsyncStorage } from './requestAsyncStorageShim' ;
12
8
13
- declare const requestAsyncStorage : RequestAsyncStorage ;
14
-
15
9
declare const routeModule : {
16
10
GET ?: ( ...args : unknown [ ] ) => unknown ;
17
11
POST ?: ( ...args : unknown [ ] ) => unknown ;
@@ -40,6 +34,11 @@ function wrapHandler<T>(handler: T, method: 'GET' | 'POST' | 'PUT' | 'PATCH' | '
40
34
41
35
// We try-catch here just in case the API around `requestAsyncStorage` changes unexpectedly since it is not public API
42
36
try {
37
+ // @ts -expect-error AAAA
38
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
39
+ const requestAsyncStorage : RequestAsyncStorage = __non_webpack_require__ (
40
+ '__SENTRY_NEXTJS_REQUEST_ASYNC_STORAGE_SHIM__' ,
41
+ ) . requestAsyncStorage ;
43
42
const requestAsyncStore = requestAsyncStorage . getStore ( ) ;
44
43
sentryTraceHeader = requestAsyncStore ?. headers . get ( 'sentry-trace' ) ?? undefined ;
45
44
baggageHeader = requestAsyncStore ?. headers . get ( 'baggage' ) ?? undefined ;
0 commit comments