diff options
author | Luca Casonato <hello@lcas.dev> | 2023-07-02 13:20:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-02 13:20:56 +0200 |
commit | d8e8e60f9f32ffce785b2efd71cd78b337a5352c (patch) | |
tree | 9dc14dfc3d961ffb96da6e392e729c25c1d6cb46 /ext | |
parent | 0ddfd5d52acb99daf7531e7d1cdfe475b401deaf (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.js | 17 |
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"); |