http
Package httpmodule provides HTTP client functionality for durable programs.
load("http", ...)
http
load("http", "http")
Functions
client(timeout: Duration?, retry_strategy: Strategy?, on_error: Callable?)
Example:
http.client(timeout=time.SECOND * 30)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
timeout | Duration | ||
retry_strategy | Strategy | ||
on_error | Callable |
Returns: Client
response(headers: Dict?, body: String?, status_code: Int)
Example:
http.response(status_code=http.STATUS_OK, body="{}")
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
headers | Dict | ||
body | String | ||
status_code | Int | ✓ |
Returns: Response
request(url: String, method: String, headers: Dict?, body: String?, form: Dict?)
Example:
http.request("https://example.com/api", http.POST, body="{}")
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
method | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Request
cookie(name: String, value: String)
Example:
http.cookie("session", "abc123")
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
name | String | ✓ | |
value | String | ✓ |
Returns: Cookie
Types
Client
Attributes:
do(request: Request)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
request | Request | ✓ |
Returns: Response
get(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
post(url: String, body: String, content_type: String, headers: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
body | String | ||
content_type | String | ||
headers | Dict |
Returns: Response
post_form(url: String, headers: Dict, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
form | Dict | ✓ |
Returns: Response
head(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
put(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
patch(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
delete(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
options(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
trace(url: String, headers: Dict, body: String, form: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
headers | Dict | ||
body | String | ||
form | Dict |
Returns: Response
timeout
Returns: Duration
Cookie
Attributes:
name
Returns: String
value
Returns: String
quoted
Returns: Bool
path
Returns: String
domain
Returns: String
expires
Returns: Time
raw_expires
Returns: String
max_age
Returns: Int
secure
Returns: Bool
http_only
Returns: Bool
same_site
Returns: Int
partitioned
Returns: Bool
raw
Returns: String
unparsed
Returns: List
Request
Attributes:
method
Returns: String
url
Returns: String
proto
Returns: String
proto_major
Returns: Int
proto_minor
Returns: Int
header
Returns: Dict
body
Returns: String
content_length
Returns: Int
transfer_encoding
Returns: List
host
Returns: String
remote_addr
Returns: String
request_uri
Returns: String
response
Returns: Response
cookies
Returns: List
referer
Returns: String
user_agent
Returns: String
add_cookie(cookie: Cookie)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
cookie | Cookie | ✓ |
Returns: None
Response
Attributes:
status
Returns: String
status_code
Returns: Int
proto
Returns: String
proto_major
Returns: Int
proto_minor
Returns: Int
header
Returns: Dict
body
Returns: String
content_length
Returns: Int
transfer_encoding
Returns: List
uncompressed
Returns: Bool
request
Returns: Request
cookies
Returns: List
location
Returns: String
Constants
Verbs
GETHEADPOSTPUTPATCHDELETECONNECTOPTIONSTRACE
Statuses
STATUS_CONTINUESTATUS_SWITCHING_PROTOCOLSSTATUS_PROCESSINGSTATUS_EARLY_HINTSSTATUS_OKSTATUS_CREATEDSTATUS_ACCEPTEDSTATUS_NON_AUTHORITATIVE_INFOSTATUS_NO_CONTENTSTATUS_RESET_CONTENTSTATUS_PARTIAL_CONTENTSTATUS_MULTI_STATUSSTATUS_ALREADY_REPORTEDSTATUS_IM_USEDSTATUS_MULTIPLE_CHOICESSTATUS_MOVED_PERMANENTLYSTATUS_FOUNDSTATUS_SEE_OTHERSTATUS_NOT_MODIFIEDSTATUS_USE_PROXYSTATUS_TEMPORARY_REDIRECTSTATUS_PERMANENT_REDIRECTSTATUS_BAD_REQUESTSTATUS_UNAUTHORIZEDSTATUS_PAYMENT_REQUIREDSTATUS_FORBIDDENSTATUS_NOT_FOUNDSTATUS_METHOD_NOT_ALLOWEDSTATUS_NOT_ACCEPTABLESTATUS_PROXY_AUTH_REQUIREDSTATUS_REQUEST_TIMEOUTSTATUS_CONFLICTSTATUS_GONESTATUS_LENGTH_REQUIREDSTATUS_PRECONDITION_FAILEDSTATUS_REQUEST_ENTITY_TOO_LARGESTATUS_REQUEST_URI_TOO_LONGSTATUS_UNSUPPORTED_MEDIA_TYPESTATUS_REQUESTED_RANGE_NOT_SATISFIABLESTATUS_EXPECTATION_FAILEDSTATUS_TEAPOTSTATUS_MISDIRECTED_REQUESTSTATUS_UNPROCESSABLE_ENTITYSTATUS_LOCKEDSTATUS_FAILED_DEPENDENCYSTATUS_TOO_EARLYSTATUS_UPGRADE_REQUIREDSTATUS_PRECONDITION_REQUIREDSTATUS_TOO_MANY_REQUESTSSTATUS_REQUEST_HEADER_FIELDS_TOO_LARGESTATUS_UNAVAILABLE_FOR_LEGAL_REASONSSTATUS_INTERNAL_SERVER_ERRORSTATUS_NOT_IMPLEMENTEDSTATUS_BAD_GATEWAYSTATUS_SERVICE_UNAVAILABLESTATUS_GATEWAY_TIMEOUTSTATUS_HTTP_VERSION_NOT_SUPPORTEDSTATUS_VARIANT_ALSO_NEGOTIATESSTATUS_INSUFFICIENT_STORAGESTATUS_LOOP_DETECTEDSTATUS_NOT_EXTENDEDSTATUS_NETWORK_AUTHENTICATION_REQUIRED
Errors
DNS_TIMEOUT_ERRORDNS_ERRORDESTINATION_NOT_FOUND_ERRORDESTINATION_UNAVAILABLE_ERRORDESTINATION_IP_PROHIBITED_ERRORDESTINATION_IP_UNROUTABLE_ERRORCONNECTION_REFUSED_ERRORCONNECTION_TERMINATED_ERRORCONNECTION_TIMEOUT_ERRORCONNECTION_READ_TIMEOUT_ERRORCONNECTION_WRITE_TIMEOUT_ERRORCONNECTION_LIMIT_REACHED_ERRORTLS_PROTOCOL_ERRORTLS_CERTIFICATE_ERRORTLS_ALERT_RECEIVED_ERRORINTERNAL_ERROR