MCPcopy Index your code
hub / github.com/nodejs/node / httpFetch

Function httpFetch

deps/undici/undici.js:13934–13977  ·  view source on GitHub ↗
(fetchParams)

Source from the content-addressed store, hash-verified

13932 }
13933 __name(fetchFinale, "fetchFinale");
13934 async function httpFetch(fetchParams) {
13935 const request = fetchParams.request;
13936 let response = null;
13937 let actualResponse = null;
13938 const timingInfo = fetchParams.timingInfo;
13939 if (request.serviceWorkers === "all") {
13940 }
13941 if (response === null) {
13942 if (request.redirect === "follow") {
13943 request.serviceWorkers = "none";
13944 }
13945 actualResponse = response = await httpNetworkOrCacheFetch(fetchParams);
13946 if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") {
13947 return makeNetworkError("cors failure");
13948 }
13949 if (TAOCheck(request, response) === "failure") {
13950 request.timingAllowFailed = true;
13951 }
13952 }
13953 if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck(
13954 request.origin,
13955 request.client,
13956 request.destination,
13957 actualResponse
13958 ) === "blocked") {
13959 return makeNetworkError("blocked");
13960 }
13961 if (redirectStatusSet.has(actualResponse.status)) {
13962 if (request.redirect !== "manual") {
13963 fetchParams.controller.connection.destroy(void 0, false);
13964 }
13965 if (request.redirect === "error") {
13966 response = makeNetworkError("unexpected redirect");
13967 } else if (request.redirect === "manual") {
13968 response = actualResponse;
13969 } else if (request.redirect === "follow") {
13970 response = await httpRedirectFetch(fetchParams, response);
13971 } else {
13972 assert(false);
13973 }
13974 }
13975 response.timingInfo = timingInfo;
13976 return response;
13977 }
13978 __name(httpFetch, "httpFetch");
13979 function httpRedirectFetch(fetchParams, response) {
13980 const request = fetchParams.request;

Callers 2

mainFetchFunction · 0.70
schemeFetchFunction · 0.70

Calls 9

httpNetworkOrCacheFetchFunction · 0.70
corsCheckFunction · 0.70
makeNetworkErrorFunction · 0.70
TAOCheckFunction · 0.70
httpRedirectFetchFunction · 0.70
hasMethod · 0.65
assertFunction · 0.50
destroyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…