headers-polyfill
Advanced tools
Comparing version 3.2.1 to 3.2.2
179
lib/index.js
@@ -0,5 +1,10 @@ | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __commonJS = (cb, mod) => function __require() { | ||
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; | ||
}; | ||
var __export = (target, all) => { | ||
@@ -17,4 +22,176 @@ for (var name in all) | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
// node_modules/set-cookie-parser/lib/set-cookie.js | ||
var require_set_cookie = __commonJS({ | ||
"node_modules/set-cookie-parser/lib/set-cookie.js"(exports, module2) { | ||
"use strict"; | ||
var defaultParseOptions = { | ||
decodeValues: true, | ||
map: false, | ||
silent: false | ||
}; | ||
function isNonEmptyString(str) { | ||
return typeof str === "string" && !!str.trim(); | ||
} | ||
function parseString(setCookieValue, options) { | ||
var parts = setCookieValue.split(";").filter(isNonEmptyString); | ||
var nameValuePairStr = parts.shift(); | ||
var parsed = parseNameValuePair(nameValuePairStr); | ||
var name = parsed.name; | ||
var value = parsed.value; | ||
options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions; | ||
try { | ||
value = options.decodeValues ? decodeURIComponent(value) : value; | ||
} catch (e) { | ||
console.error( | ||
"set-cookie-parser encountered an error while decoding a cookie with value '" + value + "'. Set options.decodeValues to false to disable this feature.", | ||
e | ||
); | ||
} | ||
var cookie = { | ||
name, | ||
value | ||
}; | ||
parts.forEach(function(part) { | ||
var sides = part.split("="); | ||
var key = sides.shift().trimLeft().toLowerCase(); | ||
var value2 = sides.join("="); | ||
if (key === "expires") { | ||
cookie.expires = new Date(value2); | ||
} else if (key === "max-age") { | ||
cookie.maxAge = parseInt(value2, 10); | ||
} else if (key === "secure") { | ||
cookie.secure = true; | ||
} else if (key === "httponly") { | ||
cookie.httpOnly = true; | ||
} else if (key === "samesite") { | ||
cookie.sameSite = value2; | ||
} else { | ||
cookie[key] = value2; | ||
} | ||
}); | ||
return cookie; | ||
} | ||
function parseNameValuePair(nameValuePairStr) { | ||
var name = ""; | ||
var value = ""; | ||
var nameValueArr = nameValuePairStr.split("="); | ||
if (nameValueArr.length > 1) { | ||
name = nameValueArr.shift(); | ||
value = nameValueArr.join("="); | ||
} else { | ||
value = nameValuePairStr; | ||
} | ||
return { name, value }; | ||
} | ||
function parse(input, options) { | ||
options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions; | ||
if (!input) { | ||
if (!options.map) { | ||
return []; | ||
} else { | ||
return {}; | ||
} | ||
} | ||
if (input.headers) { | ||
if (typeof input.headers.getSetCookie === "function") { | ||
input = input.headers.getSetCookie(); | ||
} else if (input.headers["set-cookie"]) { | ||
input = input.headers["set-cookie"]; | ||
} else { | ||
var sch = input.headers[Object.keys(input.headers).find(function(key) { | ||
return key.toLowerCase() === "set-cookie"; | ||
})]; | ||
if (!sch && input.headers.cookie && !options.silent) { | ||
console.warn( | ||
"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning." | ||
); | ||
} | ||
input = sch; | ||
} | ||
} | ||
if (!Array.isArray(input)) { | ||
input = [input]; | ||
} | ||
options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions; | ||
if (!options.map) { | ||
return input.filter(isNonEmptyString).map(function(str) { | ||
return parseString(str, options); | ||
}); | ||
} else { | ||
var cookies = {}; | ||
return input.filter(isNonEmptyString).reduce(function(cookies2, str) { | ||
var cookie = parseString(str, options); | ||
cookies2[cookie.name] = cookie; | ||
return cookies2; | ||
}, cookies); | ||
} | ||
} | ||
function splitCookiesString2(cookiesString) { | ||
if (Array.isArray(cookiesString)) { | ||
return cookiesString; | ||
} | ||
if (typeof cookiesString !== "string") { | ||
return []; | ||
} | ||
var cookiesStrings = []; | ||
var pos = 0; | ||
var start; | ||
var ch; | ||
var lastComma; | ||
var nextStart; | ||
var cookiesSeparatorFound; | ||
function skipWhitespace() { | ||
while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) { | ||
pos += 1; | ||
} | ||
return pos < cookiesString.length; | ||
} | ||
function notSpecialChar() { | ||
ch = cookiesString.charAt(pos); | ||
return ch !== "=" && ch !== ";" && ch !== ","; | ||
} | ||
while (pos < cookiesString.length) { | ||
start = pos; | ||
cookiesSeparatorFound = false; | ||
while (skipWhitespace()) { | ||
ch = cookiesString.charAt(pos); | ||
if (ch === ",") { | ||
lastComma = pos; | ||
pos += 1; | ||
skipWhitespace(); | ||
nextStart = pos; | ||
while (pos < cookiesString.length && notSpecialChar()) { | ||
pos += 1; | ||
} | ||
if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { | ||
cookiesSeparatorFound = true; | ||
pos = nextStart; | ||
cookiesStrings.push(cookiesString.substring(start, lastComma)); | ||
start = pos; | ||
} else { | ||
pos = lastComma + 1; | ||
} | ||
} else { | ||
pos += 1; | ||
} | ||
} | ||
if (!cookiesSeparatorFound || pos >= cookiesString.length) { | ||
cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); | ||
} | ||
} | ||
return cookiesStrings; | ||
} | ||
module2.exports = parse; | ||
module2.exports.parse = parse; | ||
module2.exports.parseString = parseString; | ||
module2.exports.splitCookiesString = splitCookiesString2; | ||
} | ||
}); | ||
// src/index.ts | ||
@@ -37,3 +214,3 @@ var src_exports = {}; | ||
// src/Headers.ts | ||
var import_set_cookie_parser = require("set-cookie-parser"); | ||
var import_set_cookie_parser = __toESM(require_set_cookie()); | ||
@@ -40,0 +217,0 @@ // src/utils/normalizeHeaderName.ts |
{ | ||
"name": "headers-polyfill", | ||
"version": "3.2.1", | ||
"version": "3.2.2", | ||
"description": "A native \"Headers\" class polyfill.", | ||
@@ -31,3 +31,4 @@ "main": "./lib/index.js", | ||
"devDependencies": { | ||
"@ossjs/release": "^0.3.0", | ||
"@ossjs/release": "^0.7.2", | ||
"@types/set-cookie-parser": "^2.4.3", | ||
"@types/jest": "^28.1.4", | ||
@@ -37,10 +38,7 @@ "jest": "^28.1.2", | ||
"rimraf": "^3.0.2", | ||
"set-cookie-parser": "^2.6.0", | ||
"ts-jest": "^28.0.5", | ||
"tsup": "^6.2.3", | ||
"typescript": "4.3.2" | ||
}, | ||
"dependencies": { | ||
"@types/set-cookie-parser": "^2.4.3", | ||
"set-cookie-parser": "^2.6.0" | ||
} | ||
} |
@@ -43,3 +43,4 @@ [![Published version](https://img.shields.io/npm/v/headers-polyfill.svg)](https://www.npmjs.com/package/headers-polyfill) | ||
- [`.delete()`](https://developer.mozilla.org/en-US/docs/Web/API/Headers/delete) | ||
- `.forEach()` | ||
- [`.forEach()`](https://developer.mozilla.org/en-US/docs/Web/API/Headers/forEach) | ||
- [`.getSetCookie()`](https://developer.mozilla.org/en-US/docs/Web/API/Headers/getSetCookie) | ||
@@ -46,0 +47,0 @@ As well as the iterator methods: |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
91060
0
924
225
10
- Removed@types/set-cookie-parser@^2.4.3
- Removedset-cookie-parser@^2.6.0
- Removed@types/node@22.5.5(transitive)
- Removed@types/set-cookie-parser@2.4.10(transitive)
- Removedset-cookie-parser@2.7.0(transitive)
- Removedundici-types@6.19.8(transitive)