@@ -300,9 +300,8 @@ function matchServerRoutes(
300300 */
301301export function startRequestHandlerTransaction (
302302 hub : Hub ,
303- url : URL ,
304- routes : ServerRoute [ ] ,
305- pkg : ReactRouterDomPkg | undefined ,
303+ name : string ,
304+ source : TransactionSource ,
306305 request : {
307306 headers : {
308307 'sentry-trace' : string ;
@@ -315,11 +314,6 @@ export function startRequestHandlerTransaction(
315314 const traceparentData = extractTraceparentData ( request . headers [ 'sentry-trace' ] ) ;
316315 const baggage = parseBaggageSetMutability ( request . headers . baggage , traceparentData ) ;
317316
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-
323317 const transaction = hub . startTransaction ( {
324318 name,
325319 op : 'http.server' ,
@@ -338,6 +332,19 @@ export function startRequestHandlerTransaction(
338332 return transaction ;
339333}
340334
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+
341348function wrapRequestHandler ( origRequestHandler : RequestHandler , build : ServerBuild ) : RequestHandler {
342349 const routes = createRoutes ( build . routes ) ;
343350 const pkg = loadModule < ReactRouterDomPkg > ( 'react-router-dom' ) ;
@@ -352,7 +359,9 @@ function wrapRequestHandler(origRequestHandler: RequestHandler, build: ServerBui
352359 }
353360
354361 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 , {
356365 headers : {
357366 'sentry-trace' : request . headers . get ( 'sentry-trace' ) || '' ,
358367 baggage : request . headers . get ( 'baggage' ) || '' ,
0 commit comments