Module http/index

http/index

HTTP client library — types, request building, and async fetching.

Types

HttpMethod enum
HttpMethod

Variants

VariantFieldsDescription
GET
POST
PUT
DELETE
HEAD
PATCH
HttpHeader object
HttpHeader

Fields

NameTypeDescription
nameString
valueString
Methods
new : (HttpHeader) fn(name : String, value : String) -> HttpHeader

Parameters

NameTypeNotes
nameString
valueString

Returns: HttpHeader

HttpRequest object
HttpRequest

Fields

NameTypeDescription
methodHttpMethod
pathString
headersArrayList(HttpHeader)
bodyString
Methods
new : (HttpRequest) fn(method : HttpMethod, path : String) -> HttpRequest

Parameters

NameTypeNotes
methodHttpMethod
pathString

Returns: HttpRequest

header : (HttpRequest) fn(self : HttpRequest, name : String, value : String) -> HttpRequest

Parameters

NameTypeNotes
selfHttpRequest
nameString
valueString

Returns: HttpRequest

with_body : (HttpRequest) fn(self : HttpRequest, body : String) -> HttpRequest

Parameters

NameTypeNotes
selfHttpRequest
bodyString

Returns: HttpRequest

set_host : (HttpRequest) fn(self : HttpRequest, host : String) -> unit

Parameters

NameTypeNotes
selfHttpRequest
hostString

Returns: unit

set_header : (HttpRequest) fn(self : HttpRequest, name : String, value : String) -> unit

Parameters

NameTypeNotes
selfHttpRequest
nameString
valueString

Returns: unit

set_body : (HttpRequest) fn(self : HttpRequest, body : String) -> unit

Parameters

NameTypeNotes
selfHttpRequest
bodyString

Returns: unit

to_string : (HttpRequest) fn(self : HttpRequest) -> String

Parameters

NameTypeNotes
selfHttpRequest

Returns: String

HttpResponse object
HttpResponse

Fields

NameTypeDescription
status_codei32
status_textString
headersArrayList(HttpHeader)
bodyString
Methods
new : (HttpResponse) fn(status_code : i32, status_text : String) -> HttpResponse

Parameters

NameTypeNotes
status_codei32
status_textString

Returns: HttpResponse

get_header : (HttpResponse) fn(self : HttpResponse, name : String) -> Option(String)

Parameters

NameTypeNotes
selfHttpResponse
nameString

Returns: Option(String)

is_ok : (HttpResponse) fn(self : HttpResponse) -> bool

Parameters

NameTypeNotes
selfHttpResponse

Returns: bool

is_redirect : (HttpResponse) fn(self : HttpResponse) -> bool

Parameters

NameTypeNotes
selfHttpResponse

Returns: bool

is_error : (HttpResponse) fn(self : HttpResponse) -> bool

Parameters

NameTypeNotes
selfHttpResponse

Returns: bool

HttpError enum
HttpError

Variants

VariantFieldsDescription
ConnectionFailedmsg: String
InvalidUrlmsg: String
Timeout
TooManyRedirects
UnsupportedSchemescheme: String
ResponseTooLarge
Othermsg: String
FetchOptions object
FetchOptions

Fields

NameTypeDescription
methodHttpMethod
headersArrayList(HttpHeader)
bodyString
Methods
new : (FetchOptions) fn() -> FetchOptions

Returns: FetchOptions

with_method : (FetchOptions) fn(self : FetchOptions, method : HttpMethod) -> FetchOptions

Parameters

NameTypeNotes
selfFetchOptions
methodHttpMethod

Returns: FetchOptions

with_header : (FetchOptions) fn(self : FetchOptions, name : String, value : String) -> FetchOptions

Parameters

NameTypeNotes
selfFetchOptions
nameString
valueString

Returns: FetchOptions

with_body : (FetchOptions) fn(self : FetchOptions, body : String) -> FetchOptions

Parameters

NameTypeNotes
selfFetchOptions
bodyString

Returns: FetchOptions

Functions

parse_response function
fn(raw : String) -> Result(HttpResponse, String)

Parameters

NameTypeNotes
rawString

Returns: Result(HttpResponse, String)

http_status_text function
fn(code : i32) -> String

Parameters

NameTypeNotes
codei32

Returns: String

fetch_with function
fn(url_str : String, opts : FetchOptions, using(io : IO)) -> Impl(Future(HttpResponse, IO, Exception))

Parameters

NameTypeNotes
url_strString
optsFetchOptions

Effects

NameTypeNotes
ioIOcomptime, implicit

Returns: Impl(Future(HttpResponse, IO, Exception))

fetch function
fn(url_str : String, using(io : IO)) -> Impl(Future(HttpResponse, IO, Exception))

Parameters

NameTypeNotes
url_strString

Effects

NameTypeNotes
ioIOcomptime, implicit

Returns: Impl(Future(HttpResponse, IO, Exception))