summaryrefslogtreecommitdiff
path: root/ext/fetch/20_headers.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fetch/20_headers.js')
-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");