diff options
author | Andy Hayden <andyhayden1@gmail.com> | 2021-04-30 12:51:48 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-30 15:51:48 -0400 |
commit | 684c357136fd44f9d5a1b8bb4402400ed1354677 (patch) | |
tree | ebc14b1d01b6643dd4d588516692dffc0f8fcb52 /extensions/fetch/22_http_client.js | |
parent | abaec7a88e991188d885bede652f35d76ab4f340 (diff) |
Rename crate_ops to extensions (#10431)
Diffstat (limited to 'extensions/fetch/22_http_client.js')
-rw-r--r-- | extensions/fetch/22_http_client.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/extensions/fetch/22_http_client.js b/extensions/fetch/22_http_client.js new file mode 100644 index 000000000..770080cc9 --- /dev/null +++ b/extensions/fetch/22_http_client.js @@ -0,0 +1,41 @@ +// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. + +// @ts-check +/// <reference path="../webidl/internal.d.ts" /> +/// <reference path="../web/internal.d.ts" /> +/// <reference path="../url/internal.d.ts" /> +/// <reference path="../file/internal.d.ts" /> +/// <reference path="../file/lib.deno_file.d.ts" /> +/// <reference path="./internal.d.ts" /> +/// <reference path="./11_streams_types.d.ts" /> +/// <reference path="./lib.deno_fetch.d.ts" /> +/// <reference lib="esnext" /> +"use strict"; + +((window) => { + const core = window.Deno.core; + + /** + * @param {Deno.CreateHttpClientOptions} options + * @returns {HttpClient} + */ + function createHttpClient(options) { + return new HttpClient(core.opSync("op_create_http_client", options)); + } + + class HttpClient { + /** + * @param {number} rid + */ + constructor(rid) { + this.rid = rid; + } + close() { + core.close(this.rid); + } + } + + window.__bootstrap.fetch ??= {}; + window.__bootstrap.fetch.createHttpClient = createHttpClient; + window.__bootstrap.fetch.HttpClient = HttpClient; +})(globalThis); |