While each Modus SDK offers similar capabilities, the APIs and usage may vary between languages.Modus HTTP APIs documentation is available on the following pages:
- AssemblyScript HTTP APIs(this page)
- Go HTTP APIs
fetch API used in
JavaScript, but with some modifications to work with Modus.
Import
To begin, import thehttp namespace from the SDK:
HTTP APIs
The APIs in thehttp namespace are below, organized by category.
Functions
fetch
Invoke an HTTP endpoint to retrieve data or trigger external action. Returns aResponse object with the HTTP response data.
Either a URL
string or a Request object, describing the HTTP
request to make.If a string, the operation uses the GET HTTP method with no headers other
than those defined in the manifest entry of the connection.Each request must match to a connection entry in the manifest, using the
baseUrl field. The request URL passed to the fetch function (or via a
Request object) must start with the manifest entry’s baseUrl value to
match.A
RequestOptions object with additional options for the
request, such as the HTTP method, headers, and body.Types
Content
Represents content used in the body of an HTTP request or response.Content.from(value)
Creates a new
Content object from the given value.The value can be of any type that’s JSON serializable, including strings,
numbers, boolean values, arrays, maps, and custom objects decorated with
@json.If the value is a string, an ArrayBuffer, or a Uint8Array it’s sent as-is,
without JSON serialization.The raw binary content data buffer.
bytes()
Returns the binary content data as a
Uint8Array.text()
Interprets the content as a UTF-8 encoded string, and returns it as a
string
value.json<T>()
Interprets the content as a UTF-8 encoded string containing JSON in the shape
of type
T, and returns it as a value of type T.Header
Represents an HTTP request or response header.The name of the header.
An array of values for the header. Typically a header has a single value, but
some headers can have multiple values.
Headers
Represents a collection of HTTP headers.Headers.from(value)
Creates a new
Headers object from the given value.The value must be one of the following types:- A
string[][], where each inner array contains a header name and value. - A
Map<string, string>, where the keys are header names and the values are header values. - A
Map<string, string[]>, where the keys are header names and the values are arrays of header values.
append(name, value)
Appends a new header with the given
name and value to the collection.entries()
Returns a
string[][], where each inner array contains a header name and
value.get(name)
Returns the value of the header with the given
name, or null if the header
doesn’t exist. If there are multiple values for the header, this function
concatenates them with a comma to form a single string.Request
Represents an HTTP request to make.new http.Request(url, options?)
Creates a new
Request object with the given url and options.The required url parameter must be a fully qualified URL of the request,
including the protocol. For example, "https://example.com".The optional options parameter is a RequestOptions object
that’s used to set the HTTP method, headers, and body if needed.Request.clone(request, options)
Creates a new
Request object by cloning the given request and applying the
options to it.The fully qualified URL of the request, including the protocol. For example,
"https://example.com".The HTTP method of the request. For example,
"GET", "POST", "PUT", or
"DELETE".The raw binary content data buffer of the request body.
bytes()
Returns the binary content data of the request body as a
Uint8Array.text()
Interprets the request body as a UTF-8 encoded string, and returns it as a
string value.json<T>()
Interprets the request body as a UTF-8 encoded string containing JSON in the
shape of type
T, and returns it as a value of type T.RequestOptions
Options for the HTTP request.The HTTP method of the request. For example,
"GET", "POST", "PUT", or
"DELETE". If null (the default), the request uses the GET method.Content to pass in the request body, as a
Content object, or
null (the default) if there is no body to pass.Response
Represents the response received from the HTTP server.The HTTP response status code, such as
200 for success.The HTTP response status text associated with the status code, such as
"OK"
for success.The raw binary content data buffer of the response body.
A boolean value indicating whether the response was successful. It is
true
if the status code is in the range 200-299, and false otherwise.bytes()
Returns the binary content data of the response body as a
Uint8Array.text()
Interprets the response body content as a UTF-8 encoded string, and returns it
as a
string value.json<T>()
Interprets the response body content as a UTF-8 encoded string containing JSON
in the shape of type
T, and returns it as a value of type T.