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 ,
@@ -266,20 +256,13 @@ function matchServerRoutes(
266
256
* @param pkg
267
257
*/
268
258
export function startRequestHandlerTransaction (
269
- request : Request | ExpressRequest ,
259
+ url : URL ,
260
+ method : string ,
270
261
routes : ServerRoute [ ] ,
271
262
pkg ?: ReactRouterDomPkg ,
272
263
) : Span | undefined {
273
264
const hub = getCurrentHub ( ) ;
274
265
const currentScope = hub . getScope ( ) ;
275
-
276
- const reqData = extractRequestData ( request as CrossPlatformRequest ) ;
277
-
278
- if ( ! reqData . url ) {
279
- return ;
280
- }
281
-
282
- const url = new URL ( reqData . url ) ;
283
266
const matches = matchServerRoutes ( routes , url . pathname , pkg ) ;
284
267
285
268
const match = matches && getRequestMatch ( url , matches ) ;
@@ -289,7 +272,7 @@ export function startRequestHandlerTransaction(
289
272
name,
290
273
op : 'http.server' ,
291
274
tags : {
292
- method : reqData . method ,
275
+ method : method ,
293
276
} ,
294
277
metadata : {
295
278
source,
@@ -306,7 +289,9 @@ function wrapRequestHandler(origRequestHandler: RequestHandler, build: ServerBui
306
289
const routes = createRoutes ( build . routes ) ;
307
290
const pkg = loadModule < ReactRouterDomPkg > ( 'react-router-dom' ) ;
308
291
return async function ( this : unknown , request : Request , loadContext ?: unknown ) : Promise < Response > {
309
- const transaction = startRequestHandlerTransaction ( request , routes , pkg ) ;
292
+ const url = new URL ( request . url ) ;
293
+
294
+ const transaction = startRequestHandlerTransaction ( url , request . method , routes , pkg ) ;
310
295
311
296
const res = ( await origRequestHandler . call ( this , request , loadContext ) ) as Response ;
312
297
0 commit comments