Default XMLHttpRequest's trackingName to null (#49161)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49161

Avoid special strings, and default to null to mean undefined or unknown. This save us from bridging an unnecessary string but also makes the fallback name for logging network requests clearer.

Changelog: [Internal]

Reviewed By: bgirard

Differential Revision: D69058211

fbshipit-source-id: d83f424e0c2c23842554a8e4e616cad39719f311
This commit is contained in:
Pieter De Baets authored and Facebook GitHub Bot committed 2025-02-04 06:11:52 -08:00
1 parent d2a6ff0c37
commit 64fa41a573
6 files changed
+12 -14

No files matched your search

@@ -59,7 +59,7 @@ const RCTNetworking = {
sendRequest(
method: string,
trackingName: string,
trackingName: ?string,
url: string,
headers: Object,
data: RequestBody,
@@ -29,7 +29,7 @@ const RCTNetworking = {
sendRequest(
method: string,
trackingName: string,
trackingName: ?string,
url: string,
headers: {...},
data: RequestBody,
@@ -25,7 +25,7 @@ declare const RCTNetworking: interface {
sendRequest(
method: string,
trackingName: string,
trackingName: ?string,
url: string,
headers: {...},
data: RequestBody,
@@ -152,7 +152,7 @@ class XMLHttpRequest extends EventTarget {
_sent: boolean;
_url: ?string = null;
_timedOut: boolean = false;
_trackingName: string = 'unknown';
_trackingName: ?string = null;
_incrementalEvents: boolean = false;
_startTime: ?number = null;
_performanceLogger: IPerformanceLogger = GlobalPerformanceLogger;
@@ -478,7 +478,7 @@ class XMLHttpRequest extends EventTarget {
/**
* Custom extension for tracking origins of request.
*/
setTrackingName(trackingName: string): XMLHttpRequest {
setTrackingName(trackingName: ?string): XMLHttpRequest {
this._trackingName = trackingName;
return this;
}
@@ -560,8 +560,7 @@ class XMLHttpRequest extends EventTarget {
}
const doSend = () => {
const friendlyName =
this._trackingName !== 'unknown' ? this._trackingName : this._url;
const friendlyName = this._trackingName ?? this._url;
this._perfKey = 'network_XMLHttpRequest_' + String(friendlyName);
this._performanceLogger.startTimespan(this._perfKey);
this._startTime = performance.now();
@@ -130,7 +130,7 @@ class XMLHttpRequest extends (EventTarget(...XHR_EVENTS): typeof EventTarget) {
_sent: boolean;
_url: ?string = null;
_timedOut: boolean = false;
_trackingName: string = 'unknown';
_trackingName: ?string = null;
_incrementalEvents: boolean = false;
_startTime: ?number = null;
_performanceLogger: IPerformanceLogger = GlobalPerformanceLogger;
@@ -453,7 +453,7 @@ class XMLHttpRequest extends (EventTarget(...XHR_EVENTS): typeof EventTarget) {
/**
* Custom extension for tracking origins of request.
*/
setTrackingName(trackingName: string): XMLHttpRequest {
setTrackingName(trackingName: ?string): XMLHttpRequest {
this._trackingName = trackingName;
return this;
}
@@ -535,8 +535,7 @@ class XMLHttpRequest extends (EventTarget(...XHR_EVENTS): typeof EventTarget) {
}
const doSend = () => {
const friendlyName =
this._trackingName !== 'unknown' ? this._trackingName : this._url;
const friendlyName = this._trackingName ?? this._url;
this._perfKey = 'network_XMLHttpRequest_' + String(friendlyName);
this._performanceLogger.startTimespan(this._perfKey);
this._startTime = performance.now();
@@ -5985,7 +5985,7 @@ exports[`public API should not change unintentionally Libraries/Network/RCTNetwo
): EventSubscription,
sendRequest(
method: string,
trackingName: string,
trackingName: ?string,
url: string,
headers: { ... },
data: RequestBody,
@@ -6073,7 +6073,7 @@ declare class XMLHttpRequest extends EventTarget {
getAllResponseHeaders(): ?string;
getResponseHeader(header: string): ?string;
setRequestHeader(header: string, value: any): void;
setTrackingName(trackingName: string): XMLHttpRequest;
setTrackingName(trackingName: ?string): XMLHttpRequest;
setPerformanceLogger(performanceLogger: IPerformanceLogger): XMLHttpRequest;
open(method: string, url: string, async: ?boolean): void;
send(data: any): void;
@@ -6156,7 +6156,7 @@ declare class XMLHttpRequest extends EventTarget {
getAllResponseHeaders(): ?string;
getResponseHeader(header: string): ?string;
setRequestHeader(header: string, value: any): void;
setTrackingName(trackingName: string): XMLHttpRequest;
setTrackingName(trackingName: ?string): XMLHttpRequest;
setPerformanceLogger(performanceLogger: IPerformanceLogger): XMLHttpRequest;
open(method: string, url: string, async: ?boolean): void;
send(data: any): void;