From 22426fee1ee37149175a564c6102a6a3ca99fb42 Mon Sep 17 00:00:00 2001 From: Yusuke Tanaka Date: Wed, 19 May 2021 00:24:01 +0900 Subject: chore: update deno_lint binary used in CI to v0.5.0 (#10652) --- extensions/fetch/21_formdata.js | 2 +- extensions/fetch/23_request.js | 6 +++--- extensions/fetch/23_response.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'extensions/fetch') diff --git a/extensions/fetch/21_formdata.js b/extensions/fetch/21_formdata.js index c50cf4cf7..379d5eca1 100644 --- a/extensions/fetch/21_formdata.js +++ b/extensions/fetch/21_formdata.js @@ -11,7 +11,7 @@ /// "use strict"; -((window) => { +((_window) => { const webidl = globalThis.__bootstrap.webidl; const { Blob, File, _byteSequence } = globalThis.__bootstrap.file; diff --git a/extensions/fetch/23_request.js b/extensions/fetch/23_request.js index 603a37a5f..480b83182 100644 --- a/extensions/fetch/23_request.js +++ b/extensions/fetch/23_request.js @@ -16,7 +16,7 @@ const { HTTP_TOKEN_CODE_POINT_RE, byteUpperCase } = window.__bootstrap.infra; const { URL } = window.__bootstrap.url; const { guardFromHeaders } = window.__bootstrap.headers; - const { InnerBody, mixinBody, extractBody } = window.__bootstrap.fetchBody; + const { mixinBody, extractBody } = window.__bootstrap.fetchBody; const { getLocationHref } = window.__bootstrap.location; const mimesniff = window.__bootstrap.mimesniff; const { @@ -38,7 +38,7 @@ * @property {() => string} url * @property {() => string} currentUrl * @property {[string, string][]} headerList - * @property {null | InnerBody} body + * @property {null | typeof __window.bootstrap.fetchBody.InnerBody} body * @property {"follow" | "error" | "manual"} redirectMode * @property {number} redirectCount * @property {string[]} urlList @@ -61,7 +61,7 @@ * @param {string} method * @param {string} url * @param {[string, string][]} headerList - * @param {InnerBody} body + * @param {typeof __window.bootstrap.fetchBody.InnerBody} body * @returns */ function newInnerRequest(method, url, headerList = [], body = null) { diff --git a/extensions/fetch/23_response.js b/extensions/fetch/23_response.js index 6bd7a6487..6d9874c6a 100644 --- a/extensions/fetch/23_response.js +++ b/extensions/fetch/23_response.js @@ -15,7 +15,7 @@ ((window) => { const webidl = window.__bootstrap.webidl; const { HTTP_TAB_OR_SPACE, regexMatcher } = window.__bootstrap.infra; - const { InnerBody, extractBody, mixinBody } = window.__bootstrap.fetchBody; + const { extractBody, mixinBody } = window.__bootstrap.fetchBody; const { getLocationHref } = window.__bootstrap.location; const mimesniff = window.__bootstrap.mimesniff; const { URL } = window.__bootstrap.url; @@ -47,7 +47,7 @@ * @property {number} status * @property {string} statusMessage * @property {[string, string][]} headerList - * @property {null | InnerBody} body + * @property {null | typeof __window.bootstrap.fetchBody.InnerBody} body * @property {string} [error] */ -- cgit v1.2.3 From 379d40955a46e3f1e5113aee3b4781e66d02c8e0 Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Wed, 26 May 2021 23:44:42 +0200 Subject: fix(fetch): make prototype properties writable (#10769) --- extensions/fetch/22_body.js | 19 +++++++++++++++++++ extensions/fetch/23_request.js | 22 ++++++++++++++++++++++ extensions/fetch/23_response.js | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) (limited to 'extensions/fetch') diff --git a/extensions/fetch/22_body.js b/extensions/fetch/22_body.js index 938e3023e..8c93e0fcf 100644 --- a/extensions/fetch/22_body.js +++ b/extensions/fetch/22_body.js @@ -147,6 +147,8 @@ return this[bodySymbol].stream; } }, + configurable: true, + enumerable: true, }, bodyUsed: { /** @@ -159,6 +161,8 @@ } return false; }, + configurable: true, + enumerable: true, }, arrayBuffer: { /** @returns {Promise} */ @@ -167,6 +171,9 @@ const body = await consumeBody(this); return packageData(body, "ArrayBuffer"); }, + writable: true, + configurable: true, + enumerable: true, }, blob: { /** @returns {Promise} */ @@ -175,6 +182,9 @@ const body = await consumeBody(this); return packageData(body, "Blob", this[mimeTypeSymbol]); }, + writable: true, + configurable: true, + enumerable: true, }, formData: { /** @returns {Promise} */ @@ -183,6 +193,9 @@ const body = await consumeBody(this); return packageData(body, "FormData", this[mimeTypeSymbol]); }, + writable: true, + configurable: true, + enumerable: true, }, json: { /** @returns {Promise} */ @@ -191,6 +204,9 @@ const body = await consumeBody(this); return packageData(body, "JSON"); }, + writable: true, + configurable: true, + enumerable: true, }, text: { /** @returns {Promise} */ @@ -199,6 +215,9 @@ const body = await consumeBody(this); return packageData(body, "text"); }, + writable: true, + configurable: true, + enumerable: true, }, }; return Object.defineProperties(prototype.prototype, mixin); diff --git a/extensions/fetch/23_request.js b/extensions/fetch/23_request.js index 480b83182..d8369b404 100644 --- a/extensions/fetch/23_request.js +++ b/extensions/fetch/23_request.js @@ -403,6 +403,28 @@ mixinBody(Request, _body, _mimeType); + Object.defineProperty(Request.prototype, "method", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Request.prototype, "url", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Request.prototype, "headers", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Request.prototype, "redirect", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Request.prototype, "clone", { + enumerable: true, + writable: true, + configurable: true, + }); + webidl.converters["Request"] = webidl.createInterfaceConverter( "Request", Request, diff --git a/extensions/fetch/23_response.js b/extensions/fetch/23_response.js index 6d9874c6a..7bbf3c66e 100644 --- a/extensions/fetch/23_response.js +++ b/extensions/fetch/23_response.js @@ -365,6 +365,40 @@ mixinBody(Response, _body, _mimeType); + Object.defineProperty(Response.prototype, "type", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "url", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "redirected", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "status", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "ok", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "statusText", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "headers", { + enumerable: true, + configurable: true, + }); + Object.defineProperty(Response.prototype, "clone", { + enumerable: true, + writable: true, + configurable: true, + }); + webidl.converters["Response"] = webidl.createInterfaceConverter( "Response", Response, -- cgit v1.2.3 From c00f9ad515561921894580d6d7132f65e70eae0a Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Thu, 27 May 2021 19:25:30 +0900 Subject: fix(ext/fetch): fix error message of Request constructor (#10772) --- extensions/fetch/23_request.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'extensions/fetch') diff --git a/extensions/fetch/23_request.js b/extensions/fetch/23_request.js index d8369b404..de1bdd211 100644 --- a/extensions/fetch/23_request.js +++ b/extensions/fetch/23_request.js @@ -273,7 +273,7 @@ ((init.body !== undefined && init.body !== null) || inputBody !== null) ) { - throw new TypeError("HEAD and GET requests may not have a body."); + throw new TypeError("Request with GET/HEAD method cannot have body."); } // 34. -- cgit v1.2.3 From 475bc35646bc25d796b2638768cd5a79e3a0033e Mon Sep 17 00:00:00 2001 From: Yusuke Tanaka Date: Sat, 29 May 2021 20:18:24 +0900 Subject: chore: upgrade Tokio to 1.6.1 (#10782) --- extensions/fetch/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'extensions/fetch') diff --git a/extensions/fetch/Cargo.toml b/extensions/fetch/Cargo.toml index 83cd4ecdb..201417816 100644 --- a/extensions/fetch/Cargo.toml +++ b/extensions/fetch/Cargo.toml @@ -21,6 +21,6 @@ deno_file = { version = "0.6.0", path = "../file" } http = "0.2.4" reqwest = { version = "0.11.3", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli"] } serde = { version = "1.0.125", features = ["derive"] } -tokio = { version = "1.6.0", features = ["full"] } +tokio = { version = "1.6.1", features = ["full"] } tokio-stream = "0.1.5" tokio-util = "0.6.7" -- cgit v1.2.3 From 2c1f37b4a97922cfcec9393e2146c42d3d3b6e2e Mon Sep 17 00:00:00 2001 From: Luca Casonato Date: Mon, 31 May 2021 11:03:17 +0200 Subject: fix: remove unimplemented Request attributes (#10784) Not having them is better than throwing "unimplemented" errors on access. --- extensions/fetch/23_request.js | 111 ----------------------------------------- 1 file changed, 111 deletions(-) (limited to 'extensions/fetch') diff --git a/extensions/fetch/23_request.js b/extensions/fetch/23_request.js index de1bdd211..ac38ce552 100644 --- a/extensions/fetch/23_request.js +++ b/extensions/fetch/23_request.js @@ -316,66 +316,11 @@ return this[_headers]; } - get destination() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get referrer() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get referrerPolicy() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get mode() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get credentials() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get cache() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - get redirect() { webidl.assertBranded(this, Request); return this[_request].redirectMode; } - get integrity() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get keepalive() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get isReloadNavigation() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get isHistoryNavigation() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - - get signal() { - webidl.assertBranded(this, Request); - throw new TypeError("This property is not implemented."); - } - clone() { webidl.assertBranded(this, Request); if (this[_body] && this[_body].unusable()) { @@ -438,46 +383,6 @@ } return webidl.converters["USVString"](V, opts); }; - - webidl.converters["ReferrerPolicy"] = webidl.createEnumConverter( - "ReferrerPolicy", - [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url", - ], - ); - webidl.converters["RequestMode"] = webidl.createEnumConverter("RequestMode", [ - "navigate", - "same-origin", - "no-cors", - "cors", - ]); - webidl.converters["RequestCredentials"] = webidl.createEnumConverter( - "RequestCredentials", - [ - "omit", - "same-origin", - "include", - ], - ); - webidl.converters["RequestCache"] = webidl.createEnumConverter( - "RequestCache", - [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached", - ], - ); webidl.converters["RequestRedirect"] = webidl.createEnumConverter( "RequestRedirect", [ @@ -497,23 +402,7 @@ webidl.converters["BodyInit"], ), }, - { key: "referrer", converter: webidl.converters["USVString"] }, - { key: "referrerPolicy", converter: webidl.converters["ReferrerPolicy"] }, - { key: "mode", converter: webidl.converters["RequestMode"] }, - { - key: "credentials", - converter: webidl.converters["RequestCredentials"], - }, - { key: "cache", converter: webidl.converters["RequestCache"] }, { key: "redirect", converter: webidl.converters["RequestRedirect"] }, - { key: "integrity", converter: webidl.converters["DOMString"] }, - { key: "keepalive", converter: webidl.converters["boolean"] }, - { - key: "signal", - converter: webidl.createNullableConverter( - webidl.converters["AbortSignal"], - ), - }, { key: "client", converter: webidl.converters.any }, ], ); -- cgit v1.2.3 From 1567c1013cc8ff12cf039137792da66a1d0015b5 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Mon, 31 May 2021 17:39:24 +0000 Subject: v1.10.3 --- extensions/fetch/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'extensions/fetch') diff --git a/extensions/fetch/Cargo.toml b/extensions/fetch/Cargo.toml index 201417816..0ba969bc1 100644 --- a/extensions/fetch/Cargo.toml +++ b/extensions/fetch/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "deno_fetch" -version = "0.29.0" +version = "0.29.1" edition = "2018" description = "Fetch API implementation for Deno" authors = ["the Deno authors"] @@ -16,8 +16,8 @@ path = "lib.rs" [dependencies] bytes = "1.0.1" data-url = "0.1.0" -deno_core = { version = "0.88.0", path = "../../core" } -deno_file = { version = "0.6.0", path = "../file" } +deno_core = { version = "0.88.1", path = "../../core" } +deno_file = { version = "0.6.1", path = "../file" } http = "0.2.4" reqwest = { version = "0.11.3", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli"] } serde = { version = "1.0.125", features = ["derive"] } -- cgit v1.2.3