(fetchParams, response)
| 13875 | } |
| 13876 | __name(finalizeResponse, "finalizeResponse"); |
| 13877 | function fetchFinale(fetchParams, response) { |
| 13878 | let timingInfo = fetchParams.timingInfo; |
| 13879 | const processResponseEndOfBody = /* @__PURE__ */ __name(() => { |
| 13880 | const unsafeEndTime = Date.now(); |
| 13881 | if (fetchParams.request.destination === "document") { |
| 13882 | fetchParams.controller.fullTimingInfo = timingInfo; |
| 13883 | } |
| 13884 | fetchParams.controller.reportTimingSteps = () => { |
| 13885 | if (!urlIsHttpHttpsScheme(fetchParams.request.url)) { |
| 13886 | return; |
| 13887 | } |
| 13888 | timingInfo.endTime = unsafeEndTime; |
| 13889 | let cacheState = response.cacheState; |
| 13890 | const bodyInfo = response.bodyInfo; |
| 13891 | if (!response.timingAllowPassed) { |
| 13892 | timingInfo = createOpaqueTimingInfo(timingInfo); |
| 13893 | cacheState = ""; |
| 13894 | } |
| 13895 | let responseStatus = 0; |
| 13896 | if (fetchParams.request.mode !== "navigate" || !response.hasCrossOriginRedirects) { |
| 13897 | responseStatus = response.status; |
| 13898 | const mimeType = extractMimeType(response.headersList); |
| 13899 | if (mimeType !== "failure") { |
| 13900 | bodyInfo.contentType = minimizeSupportedMimeType(mimeType); |
| 13901 | } |
| 13902 | } |
| 13903 | if (fetchParams.request.initiatorType != null) { |
| 13904 | markResourceTiming(timingInfo, fetchParams.request.url.href, fetchParams.request.initiatorType, globalThis, cacheState, bodyInfo, responseStatus); |
| 13905 | } |
| 13906 | }; |
| 13907 | const processResponseEndOfBodyTask = /* @__PURE__ */ __name(() => { |
| 13908 | fetchParams.request.done = true; |
| 13909 | if (fetchParams.processResponseEndOfBody != null) { |
| 13910 | queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); |
| 13911 | } |
| 13912 | if (fetchParams.request.initiatorType != null) { |
| 13913 | fetchParams.controller.reportTimingSteps(); |
| 13914 | } |
| 13915 | }, "processResponseEndOfBodyTask"); |
| 13916 | queueMicrotask(() => processResponseEndOfBodyTask()); |
| 13917 | }, "processResponseEndOfBody"); |
| 13918 | if (fetchParams.processResponse != null) { |
| 13919 | queueMicrotask(() => { |
| 13920 | fetchParams.processResponse(response); |
| 13921 | fetchParams.processResponse = null; |
| 13922 | }); |
| 13923 | } |
| 13924 | const internalResponse = response.type === "error" ? response : response.internalResponse ?? response; |
| 13925 | if (internalResponse.body == null) { |
| 13926 | processResponseEndOfBody(); |
| 13927 | } else { |
| 13928 | finished(internalResponse.body.stream, () => { |
| 13929 | processResponseEndOfBody(); |
| 13930 | }); |
| 13931 | } |
| 13932 | } |
| 13933 | __name(fetchFinale, "fetchFinale"); |
| 13934 | async function httpFetch(fetchParams) { |
no test coverage detected
searching dependent graphs…