Skip to content

Commit cd9c850

Browse files
authored
perf(net): Avoid parsing headers twice (#8618)
1 parent 95cf682 commit cd9c850

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

lib/net/http_fetch_plugin.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ shaka.net.HttpFetchPlugin = class {
113113
let arrayBuffer = new ArrayBuffer(0);
114114
let loaded = 0;
115115
let lastLoaded = 0;
116+
let headers = {};
116117

117118
// Last time stamp when we got a progress event.
118119
let lastTime = Date.now();
@@ -124,8 +125,9 @@ shaka.net.HttpFetchPlugin = class {
124125
response = await fetch(uri, init);
125126
// At this point in the process, we have the headers of the response, but
126127
// not the body yet.
127-
headersReceived(shaka.net.HttpFetchPlugin.headersToGenericObject_(
128-
response.headers));
128+
headers =
129+
shaka.net.HttpFetchPlugin.headersToGenericObject_(response.headers);
130+
headersReceived(headers);
129131

130132
// In new versions of Chromium, HEAD requests now have a response body
131133
// that is null.
@@ -237,9 +239,6 @@ shaka.net.HttpFetchPlugin = class {
237239
}
238240
}
239241

240-
const headers = shaka.net.HttpFetchPlugin.headersToGenericObject_(
241-
response.headers);
242-
243242
return shaka.net.HttpPluginUtils.makeResponse(headers, arrayBuffer,
244243
response.status, uri, response.url, request, requestType);
245244
}

0 commit comments

Comments
 (0)