@@ -300,9 +300,8 @@ function matchServerRoutes(
300
300
*/
301
301
export function startRequestHandlerTransaction (
302
302
hub : Hub ,
303
- url : URL ,
304
- routes : ServerRoute [ ] ,
305
- pkg : ReactRouterDomPkg | undefined ,
303
+ name : string ,
304
+ source : TransactionSource ,
306
305
request : {
307
306
headers : {
308
307
'sentry-trace' : string ;
@@ -315,11 +314,6 @@ export function startRequestHandlerTransaction(
315
314
const traceparentData = extractTraceparentData ( request . headers [ 'sentry-trace' ] ) ;
316
315
const baggage = parseBaggageSetMutability ( request . headers . baggage , traceparentData ) ;
317
316
318
- const matches = matchServerRoutes ( routes , url . pathname , pkg ) ;
319
- const match = matches && getRequestMatch ( url , matches ) ;
320
- const [ name , source ] : [ string , TransactionSource ] =
321
- match === null ? [ url . pathname , 'url' ] : [ match . route . id , 'route' ] ;
322
-
323
317
const transaction = hub . startTransaction ( {
324
318
name,
325
319
op : 'http.server' ,
@@ -338,6 +332,19 @@ export function startRequestHandlerTransaction(
338
332
return transaction ;
339
333
}
340
334
335
+ /**
336
+ * Get transaction name from routes and url
337
+ */
338
+ export function getTransactionName (
339
+ routes : ServerRoute [ ] ,
340
+ url : URL ,
341
+ pkg ?: ReactRouterDomPkg ,
342
+ ) : [ string , TransactionSource ] {
343
+ const matches = matchServerRoutes ( routes , url . pathname , pkg ) ;
344
+ const match = matches && getRequestMatch ( url , matches ) ;
345
+ return match === null ? [ url . pathname , 'url' ] : [ match . route . id , 'route' ] ;
346
+ }
347
+
341
348
function wrapRequestHandler ( origRequestHandler : RequestHandler , build : ServerBuild ) : RequestHandler {
342
349
const routes = createRoutes ( build . routes ) ;
343
350
const pkg = loadModule < ReactRouterDomPkg > ( 'react-router-dom' ) ;
@@ -352,7 +359,9 @@ function wrapRequestHandler(origRequestHandler: RequestHandler, build: ServerBui
352
359
}
353
360
354
361
const url = new URL ( request . url ) ;
355
- const transaction = startRequestHandlerTransaction ( hub , url , routes , pkg , {
362
+ const [ name , source ] = getTransactionName ( routes , url , pkg ) ;
363
+
364
+ const transaction = startRequestHandlerTransaction ( hub , name , source , {
356
365
headers : {
357
366
'sentry-trace' : request . headers . get ( 'sentry-trace' ) || '' ,
358
367
baggage : request . headers . get ( 'baggage' ) || '' ,
0 commit comments