Crates.io | deno_fetch |
lib.rs | deno_fetch |
version | 0.201.0 |
source | src |
created_at | 2020-09-18 20:41:28.33525 |
updated_at | 2024-11-10 04:47:11.371177 |
description | Fetch API implementation for Deno |
homepage | |
repository | https://github.com/denoland/deno |
max_upload_size | |
id | 290267 |
size | 191,306 |
This crate implements the Fetch API.
Spec: https://fetch.spec.whatwg.org/
From javascript, include the extension's source, and assign the following properties to the global scope:
import * as headers from "ext:deno_fetch/20_headers.js";
import * as formData from "ext:deno_fetch/21_formdata.js";
import * as request from "ext:deno_fetch/23_request.js";
import * as response from "ext:deno_fetch/23_response.js";
import * as fetch from "ext:deno_fetch/26_fetch.js";
import * as eventSource from "ext:deno_fetch/27_eventsource.js";
// Set up the callback for Wasm streaming ops
Deno.core.setWasmStreamingCallback(fetch.handleWasmStreaming);
Object.defineProperty(globalThis, "fetch", {
value: fetch.fetch,
enumerable: true,
configurable: true,
writable: true,
});
Object.defineProperty(globalThis, "Request", {
value: request.Request,
enumerable: false,
configurable: true,
writable: true,
});
Object.defineProperty(globalThis, "Response", {
value: response.Response,
enumerable: false,
configurable: true,
writable: true,
});
Object.defineProperty(globalThis, "Headers", {
value: headers.Headers,
enumerable: false,
configurable: true,
writable: true,
});
Object.defineProperty(globalThis, "FormData", {
value: formData.FormData,
enumerable: false,
configurable: true,
writable: true,
});
Then from rust, provide
deno_fetch::deno_fetch::init_ops_and_esm<Permissions>(Default::default())
in
the extensions
field of your RuntimeOptions
Where:
deno_fetch::FetchPermissions
deno_fetch::Options
, which implements Default
deno_webidl
cratedeno_web
cratedeno_url
cratedeno_console
crateFollowing ops are provided, which can be accessed through Deno.ops
: