@@ -22,13 +22,15 @@ export function patchAppUse(app: Hono): void {
2222 apply ( target : typeof app . use , thisArg : typeof app , args : Parameters < typeof app . use > ) : ReturnType < typeof app . use > {
2323 const [ first , ...rest ] = args as [ unknown , ...MiddlewareHandler [ ] ] ;
2424
25+ const getSpanName = ( handler : MiddlewareHandler ) : string => handler . name || `<anonymous.${ MIDDLEWARE_IDX ++ } >` ;
26+
2527 if ( typeof first === 'string' ) {
26- const wrappedHandlers = rest . map ( handler => wrapMiddlewareWithSpan ( handler , MIDDLEWARE_IDX ++ ) ) ;
28+ const wrappedHandlers = rest . map ( handler => wrapMiddlewareWithSpan ( handler , getSpanName ( handler ) ) ) ;
2729 return Reflect . apply ( target , thisArg , [ first , ...wrappedHandlers ] ) ;
2830 }
2931
3032 const allHandlers = [ first as MiddlewareHandler , ...rest ] . map ( handler =>
31- wrapMiddlewareWithSpan ( handler , MIDDLEWARE_IDX ++ ) ,
33+ wrapMiddlewareWithSpan ( handler , getSpanName ( handler ) ) ,
3234 ) ;
3335 return Reflect . apply ( target , thisArg , allHandlers ) ;
3436 } ,
@@ -40,9 +42,7 @@ export function patchAppUse(app: Hono): void {
4042 * Uses startInactiveSpan so that all middleware spans are siblings under the request/transaction
4143 * (onion order: A → B → handler → B → A does not nest B under A in the trace).
4244 */
43- function wrapMiddlewareWithSpan ( handler : MiddlewareHandler , index : number ) : MiddlewareHandler {
44- const spanName = handler . name || `<anonymous.${ index } >` ;
45-
45+ function wrapMiddlewareWithSpan ( handler : MiddlewareHandler , spanName : string ) : MiddlewareHandler {
4646 return async function sentryTracedMiddleware ( context , next ) {
4747 const span = startInactiveSpan ( {
4848 name : spanName ,
0 commit comments