@eryx/http/request Module

JSON

Summary

Functions

request.request(method: string, url: string, options: RequestOptions?)HttpConnection.HttpResponse
request.stream(method: string, url: string, options: RequestOptions?)HttpConnection.HttpResponseStream
request.get(url: string, options: RequestOptions?)HttpConnection.HttpResponse
request.post(url: string, body: string?, options: RequestOptions?)HttpConnection.HttpResponse
request.put(url: string, body: string?, options: RequestOptions?)HttpConnection.HttpResponse
request.delete(url: string, options: RequestOptions?)HttpConnection.HttpResponse
request.head(url: string, options: RequestOptions?)HttpConnection.HttpResponse
request.raiseForStatus(response: HttpConnection.HttpResponse)HttpConnection.HttpResponse
request.decodeJsonBody(response: HttpConnection.HttpResponse)any
request.decodeFormBody(response: HttpConnection.HttpResponse){ [string]: string | { string } }
request.decodeMultipartBody(response: HttpConnection.HttpResponse){ multipart.ParsedMultipartField }

API Reference

Functions

request.request

request.request(method: string, url: string, options: RequestOptions?)HttpConnection.HttpResponse

request.stream

Makes a one-shot streamed HTTP request.

The returned response must be fully consumed or explicitly closed.

request.stream(method: string, url: string, options: RequestOptions?)HttpConnection.HttpResponseStream

Parameters

method: string

The HTTP method (e.g. "GET", "POST").

url: string

The full URL including scheme and host.

options: RequestOptions?

Request options.

Returns

HttpConnection.HttpResponseStream

The streamed response.

request.get

Convenience wrapper for a GET request.

request.get(url: string, options: RequestOptions?)HttpConnection.HttpResponse

Parameters

url: string

The full URL to request.

options: RequestOptions?

Request options.

Returns

HttpConnection.HttpResponse

The parsed response.

request.post

Convenience wrapper for a POST request.

request.post(url: string, body: string?, options: RequestOptions?)HttpConnection.HttpResponse

Parameters

url: string

The full URL to request.

body: string?

The request body string.

options: RequestOptions?

Additional request options.

Returns

HttpConnection.HttpResponse

The parsed response.

request.put

Convenience wrapper for a PUT request.

request.put(url: string, body: string?, options: RequestOptions?)HttpConnection.HttpResponse

Parameters

url: string

The full URL to request.

body: string?

The request body string.

options: RequestOptions?

Additional request options.

Returns

HttpConnection.HttpResponse

The parsed response.

request.delete

Convenience wrapper for a DELETE request.

request.delete(url: string, options: RequestOptions?)HttpConnection.HttpResponse

Parameters

url: string

The full URL to request.

options: RequestOptions?

Request options.

Returns

HttpConnection.HttpResponse

The parsed response.

request.head

Convenience wrapper for a HEAD request.

Returns headers only - the body will be empty.

request.head(url: string, options: RequestOptions?)HttpConnection.HttpResponse

Parameters

url: string

The full URL to request.

options: RequestOptions?

Request options.

Returns

HttpConnection.HttpResponse

The parsed response (body is empty).

request.raiseForStatus

Raises an error for HTTP 4xx and 5xx responses.

request.raiseForStatus(response: HttpConnection.HttpResponse)HttpConnection.HttpResponse

Parameters

response: HttpConnection.HttpResponse

A buffered HTTP response.

Returns

HttpConnection.HttpResponse

The same response when the status is not an error.

request.decodeJsonBody

Decodes a buffered response body as JSON.

request.decodeJsonBody(response: HttpConnection.HttpResponse)any

Parameters

response: HttpConnection.HttpResponse

A buffered HTTP response.

Returns

any

The decoded JSON value.

request.decodeFormBody

Decodes a buffered response body as application/x-www-form-urlencoded.

request.decodeFormBody(response: HttpConnection.HttpResponse){ [string]: string | { string } }

Parameters

response: HttpConnection.HttpResponse

A buffered HTTP response.

Returns

{ [string]: string | { string } }

The decoded form fields.

request.decodeMultipartBody

Decodes a buffered response body as multipart/form-data.

The response must include a content-type header with a boundary parameter.

request.decodeMultipartBody(response: HttpConnection.HttpResponse){ multipart.ParsedMultipartField }

Parameters

response: HttpConnection.HttpResponse

A buffered HTTP response.

Returns

{ multipart.ParsedMultipartField }

The decoded multipart fields.

Types

RequestOptions

Options for one-shot request functions like request, get, and post.

headers: { [string]: string }?
body: string?
bodyStream: HttpConnection.UploadBodyStream?

Incremental upload source. When provided, the request body is read chunk-by-chunk from read(size?).

bodyLength: number?

Exact byte length for bodyStream. When omitted, chunked request framing is used automatically.

query: { [string]: string | number | boolean | { string | number | boolean } }?
form: { [string]: string | number | boolean | { string | number | boolean } }?

Form fields encoded as application/x-www-form-urlencoded. When provided, the request body is generated automatically unless body is also set, which is treated as an error.

json: any?

JSON payload encoded with @eryx/encoding/json.

multipart: { multipart.MultipartField }?

Multipart form fields encoded as multipart/form-data.

expectContinue: boolean?
timeout: number?

Applies the same timeout to connect, read, and write phases.

connectTimeout: number?

Timeout used while opening the TCP/TLS connection.

readTimeout: number?

Timeout used while waiting for response bytes.

writeTimeout: number?

Timeout used while sending request headers and body bytes.

verifySsl: boolean?
maxRedirects: number?

Maximum number of redirects to follow. Set to 0 to disable redirect following. Defaults to 10.

decompress: boolean?

Automatically decompress gzip/deflate response bodies and send Accept-Encoding. Set to false to receive raw compressed bytes. Defaults to true.

cookies: cookieJar.CookieJar?

A CookieJar for automatic cookie handling. When provided, matching cookies are sent with the request and Set-Cookie response headers are stored in the jar.