@@ -66,30 +66,29 @@ export class TelemetryHandler implements Middleware {
6666 */
6767 public async execute ( context : Context ) : Promise < void > {
6868 try {
69- if ( typeof context . request === "string" ) {
70- if ( isGraphURL ( context . request ) ) {
71- // Add telemetry only if the request url is a Graph URL.
72- // Errors are reported as in issue #265 if headers are present when redirecting to a non Graph URL
73- let clientRequestId : string = getRequestHeader ( context . request , context . options , TelemetryHandler . CLIENT_REQUEST_ID_HEADER ) ;
74- if ( clientRequestId === null ) {
75- clientRequestId = generateUUID ( ) ;
76- setRequestHeader ( context . request , context . options , TelemetryHandler . CLIENT_REQUEST_ID_HEADER , clientRequestId ) ;
77- }
78- let sdkVersionValue : string = `${ TelemetryHandler . PRODUCT_NAME } /${ PACKAGE_VERSION } ` ;
79- let options : TelemetryHandlerOptions ;
80- if ( context . middlewareControl instanceof MiddlewareControl ) {
81- options = context . middlewareControl . getMiddlewareOptions ( TelemetryHandlerOptions ) as TelemetryHandlerOptions ;
82- }
83- if ( options ) {
84- const featureUsage : string = options . getFeatureUsage ( ) ;
85- sdkVersionValue += ` (${ TelemetryHandler . FEATURE_USAGE_STRING } =${ featureUsage } )` ;
86- }
87- appendRequestHeader ( context . request , context . options , TelemetryHandler . SDK_VERSION_HEADER , sdkVersionValue ) ;
88- } else {
89- // Remove telemetry headers if present during redirection.
90- delete context . options . headers [ TelemetryHandler . CLIENT_REQUEST_ID_HEADER ] ;
91- delete context . options . headers [ TelemetryHandler . SDK_VERSION_HEADER ] ;
69+ const url = typeof context . request === "string" ? context . request : context . request . url ;
70+ if ( isGraphURL ( url ) ) {
71+ // Add telemetry only if the request url is a Graph URL.
72+ // Errors are reported as in issue #265 if headers are present when redirecting to a non Graph URL
73+ let clientRequestId : string = getRequestHeader ( context . request , context . options , TelemetryHandler . CLIENT_REQUEST_ID_HEADER ) ;
74+ if ( ! clientRequestId ) {
75+ clientRequestId = generateUUID ( ) ;
76+ setRequestHeader ( context . request , context . options , TelemetryHandler . CLIENT_REQUEST_ID_HEADER , clientRequestId ) ;
9277 }
78+ let sdkVersionValue : string = `${ TelemetryHandler . PRODUCT_NAME } /${ PACKAGE_VERSION } ` ;
79+ let options : TelemetryHandlerOptions ;
80+ if ( context . middlewareControl instanceof MiddlewareControl ) {
81+ options = context . middlewareControl . getMiddlewareOptions ( TelemetryHandlerOptions ) as TelemetryHandlerOptions ;
82+ }
83+ if ( options ) {
84+ const featureUsage : string = options . getFeatureUsage ( ) ;
85+ sdkVersionValue += ` (${ TelemetryHandler . FEATURE_USAGE_STRING } =${ featureUsage } )` ;
86+ }
87+ appendRequestHeader ( context . request , context . options , TelemetryHandler . SDK_VERSION_HEADER , sdkVersionValue ) ;
88+ } else {
89+ // Remove telemetry headers if present during redirection.
90+ delete context . options . headers [ TelemetryHandler . CLIENT_REQUEST_ID_HEADER ] ;
91+ delete context . options . headers [ TelemetryHandler . SDK_VERSION_HEADER ] ;
9392 }
9493 return await this . nextMiddleware . execute ( context ) ;
9594 } catch ( error ) {
0 commit comments