net
The net library provides functions for performing network operations.
net.http#
//net.http.get(config <: (header: <: dict), url <: string) <: tuple#
get sends an HTTP GET request to the provided url and returns a tuple that represents the response.
- configis a tuple with an optional- headerdictionary of- {string: string}, or- {string: [string]}for multi-value headers.
- urlis the destination of the request.
The schema of the response is a tuple, as follows:
(    status: "200 OK", # A string indicating the status of the response    status_code: 200, # A number indicating the status code of the response    header: {         # A dictionary containing the response header        "Content-Type": ["application/json; charset=utf-8"],        ...,    },    body: ...,        # The body of the response as a byte array)Usage:
Expression:
//net.http.get("https://raw.githubusercontent.com/arr-ai/arrai/cf1326f7b61178e3e98aff30540e10cb73449445/Makefile")Result:
(  body: "all: test lint wasm
# TODO: If this Makefile is ever used for CI, suppress timingsensitive there.test:    go test $(GOTESTFLAGS) -tags timingsensitive ./...
lint:    golangci-lint run
wasm:    GOOS=js GOARCH=wasm go build -o /tmp/arrai.wasm ./cmd/arrai"  ,  header:{    'Accept-Ranges': ['bytes'],    'Access-Control-Allow-Origin': ['*'],    'Cache-Control': ['max-age=300'],    'Connection': ['keep-alive'],    'Content-Security-Policy': ["default-src 'none'; style-src 'unsafe-inline'; sandbox"],    'Content-Type': ['text/plain; charset=utf-8'],    'Date': ['Mon, 13 Apr 2020 12:17:00 GMT'],    'Etag': ['W/"d7460fe5d998b2f25ba976ca6ef6646215c0b3314608fb5462a48f6412334f13"'],    'Expires': ['Mon, 13 Apr 2020 12:22:00 GMT'],    'Source-Age': ['246'],    'Strict-Transport-Security': ['max-age=31536000'],    'Vary': ['Authorization,Accept-Encoding'],    'Via': ['1.1 varnish (Varnish/6.0)', '1.1 varnish'],    'X-Cache': ['MISS, HIT'],    'X-Cache-Hits': ['0, 1'],    'X-Content-Type-Options': ['nosniff'],    'X-Fastly-Request-Id': ['fe13435de8287048b85b80e6057b941d3470dea6'],    'X-Frame-Options': ['deny'],    'X-Github-Request-Id': ['8956:2496:13C90C:1631AA:5E945745'],    'X-Served-By': ['cache-mel19034-MEL'],    'X-Timer': ['S1586780220.448718,VS0,VE1'],    'X-Xss-Protection': ['1; mode=block']  },  status: '200 OK',  status_code: 200)//net.http.post(config <: (header: <: dict), url <: string, body <: string|bytes) <: tuple#
post sends an HTTP POST request to the provided url and returns a tuple that represents the response.
- configis a tuple with an optional- headerdictionary of- {string: string}, or- {string: [string]}for multi-value headers.- This should typically contain at least the Content-Typeheader describing the format of thebody. If not provided, this defaults totext/plain.
 
- This should typically contain at least the 
- urlis the destination of the request.
- bodyis the content to send in the body of the request. It will be interpreted by the server using the- Content-Typeheader from the request.
The schema of the response is a tuple (as above):
(    status: "200 OK", # A string indicating the status of the response    status_code: 200, # A number indicating the status code of the response    header: {         # A dictionary containing the response header        "Content-Type": ["application/json; charset=utf-8"],        ...,    },    body: ...,        # The body of the response as a byte array)