diff options
author | Leo Kettmeir <crowlkats@toaxl.com> | 2023-02-07 20:22:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-07 20:22:46 +0100 |
commit | b4aa1530970f7b9cc4e6f2f27e077852c4e178d3 (patch) | |
tree | 3d008912affe8550692183bd2697a386db5e3c79 /ext/fetch/22_http_client.js | |
parent | 65500f36e870b4ada3996b06aa287e30177d21a3 (diff) |
refactor: Use ES modules for internal runtime code (#17648)
This PR refactors all internal js files (except core) to be written as
ES modules.
`__bootstrap`has been mostly replaced with static imports in form in
`internal:[path to file from repo root]`.
To specify if files are ESM, an `esm` method has been added to
`Extension`, similar to the `js` method.
A new ModuleLoader called `InternalModuleLoader` has been added to
enable the loading of internal specifiers, which is used in all
situations except when a snapshot is only loaded, and not a new one is
created from it.
---------
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'ext/fetch/22_http_client.js')
-rw-r--r-- | ext/fetch/22_http_client.js | 54 |
1 files changed, 24 insertions, 30 deletions
diff --git a/ext/fetch/22_http_client.js b/ext/fetch/22_http_client.js index 7b9f5c446..9d37f1b7f 100644 --- a/ext/fetch/22_http_client.js +++ b/ext/fetch/22_http_client.js @@ -9,40 +9,34 @@ /// <reference path="../web/06_streams_types.d.ts" /> /// <reference path="./lib.deno_fetch.d.ts" /> /// <reference lib="esnext" /> -"use strict"; -((window) => { - const core = window.Deno.core; - const ops = core.ops; +const core = globalThis.Deno.core; +const ops = core.ops; +/** + * @param {Deno.CreateHttpClientOptions} options + * @returns {HttpClient} + */ +function createHttpClient(options) { + options.caCerts ??= []; + return new HttpClient( + ops.op_fetch_custom_client( + options, + ), + ); +} + +class HttpClient { /** - * @param {Deno.CreateHttpClientOptions} options - * @returns {HttpClient} + * @param {number} rid */ - function createHttpClient(options) { - options.caCerts ??= []; - return new HttpClient( - ops.op_fetch_custom_client( - options, - ), - ); + constructor(rid) { + this.rid = rid; } - - class HttpClient { - /** - * @param {number} rid - */ - constructor(rid) { - this.rid = rid; - } - close() { - core.close(this.rid); - } + close() { + core.close(this.rid); } - const HttpClientPrototype = HttpClient.prototype; +} +const HttpClientPrototype = HttpClient.prototype; - window.__bootstrap.fetch ??= {}; - window.__bootstrap.fetch.createHttpClient = createHttpClient; - window.__bootstrap.fetch.HttpClient = HttpClient; - window.__bootstrap.fetch.HttpClientPrototype = HttpClientPrototype; -})(globalThis); +export { createHttpClient, HttpClient, HttpClientPrototype }; |