Network Module¶
The network
module provides an interface to the browser's network. This
includes making requests, firing pixels, and other network-related tasks.
This module is available directly from the namespace:
var network_module = namespace.network();
Architecture¶
The network
module contains a few core components that its API builds off
of.
Firstly, the network module abstracts request types (xhr, beacon, image) from the user so that requests can be made independent from the specifics of each request type.
Looking for functionality?
Currently only HTTP requests are supported by the network module. There are plans to support streaming and websockets already in the works.
Any request can also set the persist
flag if you are using image requests,
which will add the pixel to a data container in the DOM.
Info
Due to the numerous browser types and web standards, the module has the
capabilities()
function to provide you which capabilities are available
in the current browser.
API¶
The network
API wraps these capabilities in a few simple functions to work
with the browser's network.
request
¶
The request
method should be used to make a request over the network.
Usage¶
network_module.request(uri, [params]);
Parameters¶
Parameter | Example | Description |
---|---|---|
uri | 'mypixel.com/gif' |
The URI the request will be hitting |
params | { method: 'GET', transport: 'image', callback: function() { ... }, persist: true, query: { a: 1, b: '2', c: true }} |
the parameters configuring the request |
Below are the possible parameters in the params
object that augment the request:
Parameter | Example | Description |
---|---|---|
method | 'GET' |
The method of the request, one of:- GET- POST- PATCH- PUT- DELETE- OPTIONS |
scheme | 'https' |
The scheme of the request (default: inherit from page), one of:- https (default)- http |
transport | 'image' |
The transport to use, one of: - xhr (default)- image- beacon |
callback | function(response) {} |
The callback that is called when the response is recieved |
persist | true |
The flag to determine if the request will persist in the DOM. Only works for 'image' transport |
query | { key1: value1, ...} |
The query parameters to add to the request |
body | { key1: value1, ...} |
The body of the request (methods: POST, PUT, PATCH) |