Module http/http

http/http

HTTP core types — methods, headers, requests, and responses.

Types

HttpMethod enum
HttpMethod

Standard HTTP request methods.

Variants

VariantFieldsDescription
GET
POST
PUT
DELETE
HEAD
PATCH

Trait Implementations

impl(HttpMethod, ToString(...))
to_string : (self -> match(self, .GET => `GET`, .POST => `POST`, .PUT => `PUT`, .DELETE => `DELETE`, .HEAD => `HEAD`, .PATCH => `PATCH` ) )
HttpHeader object
HttpHeader

An HTTP header as a name-value pair.

Fields

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

Create a new response with the given status code and text.

Parameters

NameTypeNotes
nameString
valueString

Returns: HttpHeader

HttpRequest object
HttpRequest

An HTTP request with method, path, headers, and optional body.

Fields

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

Create a new response with the given status code and text.

Parameters

NameTypeNotes
methodHttpMethod
pathString

Returns: HttpRequest

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

Add a header and return the request (builder pattern).

Parameters

NameTypeNotes
selfHttpRequest
nameString
valueString

Returns: HttpRequest

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

Set the request body and return the request (builder pattern).

Parameters

NameTypeNotes
selfHttpRequest
bodyString

Returns: HttpRequest

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

Set the Host header.

Parameters

NameTypeNotes
selfHttpRequest
hostString

Returns: unit

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

Append a header to the request.

Parameters

NameTypeNotes
selfHttpRequest
nameString
valueString

Returns: unit

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

Set the request body.

Parameters

NameTypeNotes
selfHttpRequest
bodyString

Returns: unit

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

Serialize the request to an HTTP/1.1 wire-format string.

Parameters

NameTypeNotes
selfHttpRequest

Returns: String

HttpResponse object
HttpResponse

An HTTP response with status code, headers, and body.

Fields

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

Create a new response with the given status code and text.

Parameters

NameTypeNotes
status_codei32
status_textString

Returns: HttpResponse

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

Look up a header value by name (case-insensitive).

Parameters

NameTypeNotes
selfHttpResponse
nameString

Returns: Option(String)

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

Return true if the status code is in the 2xx range.

Parameters

NameTypeNotes
selfHttpResponse

Returns: bool

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

Return true if the status code is in the 3xx range.

Parameters

NameTypeNotes
selfHttpResponse

Returns: bool

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

Return true if the status code is 4xx or higher.

Parameters

NameTypeNotes
selfHttpResponse

Returns: bool

Functions

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

Parse a raw HTTP response string into an HttpResponse.

Parameters

NameTypeNotes
rawString

Returns: Result(HttpResponse, String)

http_status_text function
fn(code : i32) -> String

Return the standard status text for an HTTP status code.

Parameters

NameTypeNotes
codei32

Returns: String