summaryrefslogtreecommitdiff
path: root/ext/fetch
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fetch')
-rw-r--r--ext/fetch/README.md80
1 files changed, 79 insertions, 1 deletions
diff --git a/ext/fetch/README.md b/ext/fetch/README.md
index 2c946197e..d088a6147 100644
--- a/ext/fetch/README.md
+++ b/ext/fetch/README.md
@@ -1,5 +1,83 @@
# deno_fetch
-This crate implements the Fetch API.
+**This crate implements the Fetch API.**
Spec: https://fetch.spec.whatwg.org/
+
+## Usage Example
+
+From javascript, include the extension's source, and assign the following
+properties to the global scope:
+
+```javascript
+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:
+
+- Permissions: a struct implementing `deno_fetch::FetchPermissions`
+- Options: `deno_fetch::Options`, which implements `Default`
+
+## Dependencies
+
+- **deno_webidl**: Provided by the `deno_webidl` crate
+- **deno_web**: Provided by the `deno_web` crate
+- **deno_url**: Provided by the `deno_url` crate
+- **deno_console**: Provided by the `deno_console` crate
+
+## Provided ops
+
+Following ops are provided, which can be accessed through `Deno.ops`:
+
+- op_fetch
+- op_fetch_send
+- op_fetch_response_upgrade
+- op_utf8_to_byte_string
+- op_fetch_custom_client