Spaces:
Runtime error
Runtime error
| const assert = require('assert') | |
| const { URLSerializer } = require('../fetch/dataURL') | |
| const { isValidHeaderName } = require('../fetch/util') | |
| /** | |
| * @see https://url.spec.whatwg.org/#concept-url-equals | |
| * @param {URL} A | |
| * @param {URL} B | |
| * @param {boolean | undefined} excludeFragment | |
| * @returns {boolean} | |
| */ | |
| function urlEquals (A, B, excludeFragment = false) { | |
| const serializedA = URLSerializer(A, excludeFragment) | |
| const serializedB = URLSerializer(B, excludeFragment) | |
| return serializedA === serializedB | |
| } | |
| /** | |
| * @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262 | |
| * @param {string} header | |
| */ | |
| function fieldValues (header) { | |
| assert(header !== null) | |
| const values = [] | |
| for (let value of header.split(',')) { | |
| value = value.trim() | |
| if (!value.length) { | |
| continue | |
| } else if (!isValidHeaderName(value)) { | |
| continue | |
| } | |
| values.push(value) | |
| } | |
| return values | |
| } | |
| module.exports = { | |
| urlEquals, | |
| fieldValues | |
| } | |