* @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)
| 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 | } |
no test coverage detected