1
1
/* eslint-disable max-lines */
2
2
import { captureException , getCurrentHub } from '@sentry/node' ;
3
3
import { getActiveTransaction , hasTracingEnabled , Span } from '@sentry/tracing' ;
4
- import {
5
- addExceptionMechanism ,
6
- CrossPlatformRequest ,
7
- extractRequestData ,
8
- fill ,
9
- isNodeEnv ,
10
- loadModule ,
11
- logger ,
12
- serializeBaggage ,
13
- } from '@sentry/utils' ;
4
+ import { addExceptionMechanism , fill , isNodeEnv , loadModule , logger , serializeBaggage } from '@sentry/utils' ;
14
5
15
6
import {
16
7
AppData ,
17
8
CreateRequestHandlerFunction ,
18
9
DataFunction ,
19
10
DataFunctionArgs ,
20
- ExpressRequest ,
21
11
HandleDocumentRequestFunction ,
22
12
ReactRouterDomPkg ,
23
13
RequestHandler ,
@@ -294,20 +284,13 @@ function matchServerRoutes(
294
284
* @param pkg
295
285
*/
296
286
export function startRequestHandlerTransaction (
297
- request : Request | ExpressRequest ,
287
+ url : URL ,
288
+ method : string ,
298
289
routes : ServerRoute [ ] ,
299
290
pkg ?: ReactRouterDomPkg ,
300
291
) : Span | undefined {
301
292
const hub = getCurrentHub ( ) ;
302
293
const currentScope = hub . getScope ( ) ;
303
-
304
- const reqData = extractRequestData ( request as CrossPlatformRequest ) ;
305
-
306
- if ( ! reqData . url ) {
307
- return ;
308
- }
309
-
310
- const url = new URL ( reqData . url ) ;
311
294
const matches = matchServerRoutes ( routes , url . pathname , pkg ) ;
312
295
313
296
const match = matches && getRequestMatch ( url , matches ) ;
@@ -317,7 +300,7 @@ export function startRequestHandlerTransaction(
317
300
name,
318
301
op : 'http.server' ,
319
302
tags : {
320
- method : reqData . method ,
303
+ method : method ,
321
304
} ,
322
305
metadata : {
323
306
source,
@@ -334,7 +317,9 @@ function wrapRequestHandler(origRequestHandler: RequestHandler, build: ServerBui
334
317
const routes = createRoutes ( build . routes ) ;
335
318
const pkg = loadModule < ReactRouterDomPkg > ( 'react-router-dom' ) ;
336
319
return async function ( this : unknown , request : Request , loadContext ?: unknown ) : Promise < Response > {
337
- const transaction = startRequestHandlerTransaction ( request , routes , pkg ) ;
320
+ const url = new URL ( request . url ) ;
321
+
322
+ const transaction = startRequestHandlerTransaction ( url , request . method , routes , pkg ) ;
338
323
339
324
const res = ( await origRequestHandler . call ( this , request , loadContext ) ) as Response ;
340
325
0 commit comments