@@ -153,13 +153,12 @@ export function logNetworkRequest(networkRequest: NetworkRequest): void {
153
153
154
154
// Do not log the js sdk's call to transport service domain to avoid unnecessary cycle.
155
155
// Need to blacklist both old and new endpoints to avoid migration gap.
156
- const networkRequestHostName = new URL ( networkRequest . url ) . hostname ;
156
+ const networkRequestHostName = extractDomain ( networkRequest . url ) ;
157
157
158
158
// Blacklist old log endpoint and new transport endpoint.
159
159
// Because Performance SDK doesn't instrument requests sent from SDK itself.
160
- const logEndpointHostName = new URL ( settingsService . logEndPointUrl ) . hostname ;
161
- const flEndpointHostName = new URL ( settingsService . flTransportEndpointUrl )
162
- . hostname ;
160
+ const logEndpointHostName = extractDomain ( settingsService . logEndPointUrl ) ;
161
+ const flEndpointHostName = extractDomain ( settingsService . flTransportEndpointUrl ) ;
163
162
if (
164
163
networkRequestHostName === logEndpointHostName ||
165
164
networkRequestHostName === flEndpointHostName
@@ -177,6 +176,15 @@ export function logNetworkRequest(networkRequest: NetworkRequest): void {
177
176
setTimeout ( ( ) => sendLog ( networkRequest , ResourceType . NetworkRequest ) , 0 ) ;
178
177
}
179
178
179
+ function extractDomain ( url : string ) : string {
180
+ const urlRegex = / ( h t t p s ? : \/ \/ ) ? ( [ - a - z A - Z 0 - 9 @ : % . _ \+ ~ # = ] { 2 , 256 } \. [ a - z ] { 2 , 4 } ) \b ( [ - a - z A - Z 0 - 9 @ : % _ \+ . ~ # ? & / / = ] * ) / g;
181
+ let matched = urlRegex . exec ( url ) ;
182
+ if ( matched && matched [ 1 ] ) {
183
+ return matched [ 1 ] ;
184
+ }
185
+ return "" ;
186
+ }
187
+
180
188
function serializer (
181
189
resource : NetworkRequest | Trace ,
182
190
resourceType : ResourceType
0 commit comments