MCPcopy Create free account
hub / github.com/angular/dev-infra / httpFetch

Function httpFetch

github-actions/browserstack/set-browserstack-env.js:14335–14380  ·  view source on GitHub ↗
(fetchParams)

Source from the content-addressed store, hash-verified

14333 }
14334 }
14335 function httpFetch(fetchParams) {
14336 return __async(this, null, function* () {
14337 const request = fetchParams.request;
14338 let response = null;
14339 let actualResponse = null;
14340 const timingInfo = fetchParams.timingInfo;
14341 if (request.serviceWorkers === "all") {
14342 }
14343 if (response === null) {
14344 if (request.redirect === "follow") {
14345 request.serviceWorkers = "none";
14346 }
14347 actualResponse = response = yield httpNetworkOrCacheFetch(fetchParams);
14348 if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {
14349 return makeNetworkError("cors failure");
14350 }
14351 if (TAOCheck(request, response) === "failure") {
14352 request.timingAllowFailed = true;
14353 }
14354 }
14355 if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
14356 request.origin,
14357 request.client,
14358 request.destination,
14359 actualResponse
14360 ) === "blocked") {
14361 return makeNetworkError("blocked");
14362 }
14363 if (redirectStatusSet.has(actualResponse.status)) {
14364 if (request.redirect !== "manual") {
14365 fetchParams.controller.connection.destroy(void 0, false);
14366 }
14367 if (request.redirect === "error") {
14368 response = makeNetworkError("unexpected redirect");
14369 } else if (request.redirect === "manual") {
14370 response = actualResponse;
14371 } else if (request.redirect === "follow") {
14372 response = yield httpRedirectFetch(fetchParams, response);
14373 } else {
14374 assert(false);
14375 }
14376 }
14377 response.timingInfo = timingInfo;
14378 return response;
14379 });
14380 }
14381 function httpRedirectFetch(fetchParams, response) {
14382 const request = fetchParams.request;
14383 const actualResponse = response.internalResponse ? response.internalResponse : response;

Callers 2

mainFetchFunction · 0.70
schemeFetchFunction · 0.70

Calls 9

__asyncFunction · 0.70
httpNetworkOrCacheFetchFunction · 0.70
corsCheckFunction · 0.70
makeNetworkErrorFunction · 0.70
TAOCheckFunction · 0.70
httpRedirectFetchFunction · 0.70
hasMethod · 0.45
destroyMethod · 0.45

Tested by

no test coverage detected