@fastly/as-fetch
v0.4.1
Published
![npm version](https://img.shields.io/npm/v/@fastly/as-fetch) ![npm downloads per month](https://img.shields.io/npm/dm/@fastly/as-fetch)
Downloads
265
Readme
@fastly/as-fetch
Experimental AssemblyScript library to implement JavaScript's Fetch API interface.
Installation
@fastly/as-fetch
is available as a npm package. You can install @fastly/as-fetch
in your AssemblyScript project by running:
npm install --save @fastly/as-fetch
Quick Start
@fastly/as-fetch
is an implementation, or port, of the Fetch API, similar to the Node package node-fetch
. @fastly/as-fetch
is useful for creating and modifying objects (e.g., Request, Response, Header).. However, because of the current limitations of WebAssembly, and WASI, sending requests is not supported. In the meantime, you will probably want to use or create another service or library that utilizes the objects from as-fetch in your host platform. For example, @fastly/as-compute
uses @fastly/as-fetch
for Fastly's Compute@Edge platform to create, modify, send, and receive HTTP requests.
Below is an example request made with the @fastly/as-fetch
API:
// Import `as-fetch`'s Fetch API-like Headers and Request Classes.
import { Headers, Request } from "@fastly/as-fetch";
// Create some headers, and specify we will be sending JSON with a Content-type HTTP Header.
let headers = new Headers();
headers.set("Content-type", "application/json");
// Create a POST HTTP Request, with a JSON UTF8 string body, with the headers we created.
const request = new Request("https://example.com", {
method: "POST",
// Encode to UTF8 Array Buffer using AssemblyScript Standard Library.
body: String.UTF8.encode('{"foo": "bar"}'),
headers: headers,
});
// Do something with the request ...
Reference API
The Reference API documentation can be found in the docs/
directory.
Changelog
The changelog can be found here.
Security
If you happen to find any security issues, please see the Fastly Security Reporting Page, or feel free to send an email to: [email protected]
We plan to disclose any found security vulnerabilites per the npm security reporting guidelines. Note that communications related to security issues in Fastly-maintained OSS as described here are distinct from Fastly Security Advisories.