MCPcopy
hub / github.com/di-sukharev/opencommit / #requestMatchesCachedItem

Method #requestMatchesCachedItem

out/cli.cjs:62130–62155  ·  view source on GitHub ↗

* @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm * @param {any} requestQuery * @param {any} request * @param {any | null} response * @param {import('../../types/cache').CacheQueryOptions | undefined} options * @returns {boolean}

(requestQuery, request3, response = null, options)

Source from the content-addressed store, hash-verified

62128 /**
62129 * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm
62130 * @param {any} requestQuery
62131 * @param {any} request
62132 * @param {any | null} response
62133 * @param {import('../../types/cache').CacheQueryOptions | undefined} options
62134 * @returns {boolean}
62135 */
62136 #requestMatchesCachedItem(requestQuery, request3, response = null, options) {
62137 const queryURL = new URL(requestQuery.url);
62138 const cachedURL = new URL(request3.url);
62139 if (options?.ignoreSearch) {
62140 cachedURL.search = "";
62141 queryURL.search = "";
62142 }
62143 if (!urlEquals(queryURL, cachedURL, true)) {
62144 return false;
62145 }
62146 if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) {
62147 return true;
62148 }
62149 const fieldValues = getFieldValues(response.headersList.get("vary"));
62150 for (const fieldValue of fieldValues) {
62151 if (fieldValue === "*") {
62152 return false;
62153 }
62154 const requestValue = request3.headersList.get(fieldValue);
62155 const queryValue = requestQuery.headersList.get(fieldValue);
62156 if (requestValue !== queryValue) {
62157 return false;
62158 }

Callers 1

#queryCacheMethod · 0.95

Calls 3

urlEqualsFunction · 0.85
containsMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected