MCPcopy Index your code
hub / github.com/di-sukharev/opencommit / determineRequestsReferrer

Function determineRequestsReferrer

out/cli.cjs:50646–50704  ·  view source on GitHub ↗
(request3)

Source from the content-addressed store, hash-verified

50644 referrerPolicy: "strict-origin-when-cross-origin"
50645 };
50646 }
50647 function clonePolicyContainer(policyContainer) {
50648 return {
50649 referrerPolicy: policyContainer.referrerPolicy
50650 };
50651 }
50652 function determineRequestsReferrer(request3) {
50653 const policy = request3.referrerPolicy;
50654 assert2(policy);
50655 let referrerSource = null;
50656 if (request3.referrer === "client") {
50657 const globalOrigin = getGlobalOrigin();
50658 if (!globalOrigin || globalOrigin.origin === "null") {
50659 return "no-referrer";
50660 }
50661 referrerSource = new URL(globalOrigin);
50662 } else if (request3.referrer instanceof URL) {
50663 referrerSource = request3.referrer;
50664 }
50665 let referrerURL = stripURLForReferrer(referrerSource);
50666 const referrerOrigin = stripURLForReferrer(referrerSource, true);
50667 if (referrerURL.toString().length > 4096) {
50668 referrerURL = referrerOrigin;
50669 }
50670 const areSameOrigin = sameOrigin(request3, referrerURL);
50671 const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request3.url);
50672 switch (policy) {
50673 case "origin":
50674 return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
50675 case "unsafe-url":
50676 return referrerURL;
50677 case "same-origin":
50678 return areSameOrigin ? referrerOrigin : "no-referrer";
50679 case "origin-when-cross-origin":
50680 return areSameOrigin ? referrerURL : referrerOrigin;
50681 case "strict-origin-when-cross-origin": {
50682 const currentURL = requestCurrentURL(request3);
50683 if (sameOrigin(referrerURL, currentURL)) {
50684 return referrerURL;
50685 }
50686 if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
50687 return "no-referrer";
50688 }
50689 return referrerOrigin;
50690 }
50691 case "strict-origin":
50692 // eslint-disable-line
50693 /**
50694 * 1. If referrerURL is a potentially trustworthy URL and
50695 * request’s current URL is not a potentially trustworthy URL,
50696 * then return no referrer.
50697 * 2. Return referrerOrigin
50698 */
50699 case "no-referrer-when-downgrade":
50700 // eslint-disable-line
50701 /**
50702 * 1. If referrerURL is a potentially trustworthy URL and
50703 * request’s current URL is not a potentially trustworthy URL,

Callers 1

mainFetchFunction · 0.85

Calls 6

getGlobalOriginFunction · 0.85
stripURLForReferrerFunction · 0.85
sameOriginFunction · 0.85
requestCurrentURLFunction · 0.85
toStringMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…