11/* eslint-disable max-lines */
22import { captureException , getCurrentHub } from '@sentry/node' ;
33import { 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' ;
145
156import {
167 AppData ,
178 CreateRequestHandlerFunction ,
189 DataFunction ,
1910 DataFunctionArgs ,
20- ExpressRequest ,
2111 HandleDocumentRequestFunction ,
2212 ReactRouterDomPkg ,
2313 RequestHandler ,
@@ -294,20 +284,13 @@ function matchServerRoutes(
294284 * @param pkg
295285 */
296286export function startRequestHandlerTransaction (
297- request : Request | ExpressRequest ,
287+ url : URL ,
288+ method : string ,
298289 routes : ServerRoute [ ] ,
299290 pkg ?: ReactRouterDomPkg ,
300291) : Span | undefined {
301292 const hub = getCurrentHub ( ) ;
302293 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 ) ;
311294 const matches = matchServerRoutes ( routes , url . pathname , pkg ) ;
312295
313296 const match = matches && getRequestMatch ( url , matches ) ;
@@ -317,7 +300,7 @@ export function startRequestHandlerTransaction(
317300 name,
318301 op : 'http.server' ,
319302 tags : {
320- method : reqData . method ,
303+ method : method ,
321304 } ,
322305 metadata : {
323306 source,
@@ -334,7 +317,9 @@ function wrapRequestHandler(origRequestHandler: RequestHandler, build: ServerBui
334317 const routes = createRoutes ( build . routes ) ;
335318 const pkg = loadModule < ReactRouterDomPkg > ( 'react-router-dom' ) ;
336319 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 ) ;
338323
339324 const res = ( await origRequestHandler . call ( this , request , loadContext ) ) as Response ;
340325
0 commit comments