in src/plugins/network.ts [128:183]
private _onRequest(request: Request) {
const url = request.url();
/**
* Data URI should not show up as network requests
*/
if (url.startsWith('data:')) {
return;
}
const timestamp = getTimestamp();
const networkEntry: NetworkInfo = {
browser: this._browser,
step: this._currentStep,
timestamp,
url,
type: request.resourceType(),
request: {
url,
method: request.method(),
headers: request.headers(),
body: {
bytes: request.postDataBuffer()?.length || 0,
},
},
response: {
status: -1,
headers: {},
mimeType: 'x-unknown',
redirectURL: '',
},
isNavigationRequest: request.isNavigationRequest(),
requestSentTime: epochTimeInSeconds(),
loadEndTime: -1,
responseReceivedTime: -1,
resourceSize: 0,
transferSize: 0,
timings: {
blocked: -1,
dns: -1,
ssl: -1,
connect: -1,
send: -1,
wait: -1,
receive: -1,
total: -1,
},
};
if (request.redirectedFrom()) {
const fromEntry = this._findNetworkEntry(request.redirectedFrom());
if (fromEntry) fromEntry.response.redirectURL = request.url();
}
request[NETWORK_ENTRY_SUMBOL] = networkEntry;
this.results.push(networkEntry);
}