summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2023-07-02 13:20:56 +0200
committerGitHub <noreply@github.com>2023-07-02 13:20:56 +0200
commitd8e8e60f9f32ffce785b2efd71cd78b337a5352c (patch)
tree9dc14dfc3d961ffb96da6e392e729c25c1d6cb46 /ext
parent0ddfd5d52acb99daf7531e7d1cdfe475b401deaf (diff)
feat(ext/fetch): add Headers#getSetCookie (#13542)
Spec change: https://github.com/whatwg/fetch/pull/1346 Tests: https://github.com/web-platform-tests/wpt/pull/31442 (ran against this PR and they all pass) --------- Co-authored-by: Bartek IwaƄczuk <biwanczuk@gmail.com>
Diffstat (limited to 'ext')
-rw-r--r--ext/fetch/20_headers.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/fetch/20_headers.js b/ext/fetch/20_headers.js
index abf7433a3..bea542c30 100644
--- a/ext/fetch/20_headers.js
+++ b/ext/fetch/20_headers.js
@@ -308,6 +308,7 @@ class Headers {
* @param {string} name
*/
delete(name) {
+ webidl.assertBranded(this, HeadersPrototype);
const prefix = "Failed to execute 'delete' on 'Headers'";
webidl.requiredArguments(arguments.length, 1, prefix);
name = webidl.converters["ByteString"](name, prefix, "Argument 1");
@@ -333,6 +334,7 @@ class Headers {
* @param {string} name
*/
get(name) {
+ webidl.assertBranded(this, HeadersPrototype);
const prefix = "Failed to execute 'get' on 'Headers'";
webidl.requiredArguments(arguments.length, 1, prefix);
name = webidl.converters["ByteString"](name, prefix, "Argument 1");
@@ -345,10 +347,25 @@ class Headers {
return getHeader(list, name);
}
+ getSetCookie() {
+ webidl.assertBranded(this, HeadersPrototype);
+ const list = this[_headerList];
+
+ const entries = [];
+ for (let i = 0; i < list.length; i++) {
+ if (byteLowerCase(list[i][0]) === "set-cookie") {
+ ArrayPrototypePush(entries, list[i][1]);
+ }
+ }
+
+ return entries;
+ }
+
/**
* @param {string} name
*/
has(name) {
+ webidl.assertBranded(this, HeadersPrototype);
const prefix = "Failed to execute 'has' on 'Headers'";
webidl.requiredArguments(arguments.length, 1, prefix);
name = webidl.converters["ByteString"](name, prefix, "Argument 1");