http
Package httpmodule provides HTTP client functionality for durable programs.
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(status_code: Int, headers: Dict?, body: String?)
Example:
http.response(status_code=http.STATUS_OK, body="{}")
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
status_code | Int | ✓ | |
headers | Dict | ||
body | String |
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)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
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, form: Dict, headers: Dict)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ | |
form | Dict | ✓ | |
headers | Dict |
Returns: Response
head(url: String)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
Returns: Response
put(url: String)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
Returns: Response
patch(url: String)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
Returns: Response
delete(url: String)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
Returns: Response
options(url: String)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
Returns: Response
trace(url: String)
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url | String | ✓ |
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
GET- ConstantHEAD- ConstantPOST- ConstantPUT- ConstantPATCH- ConstantDELETE- ConstantCONNECT- ConstantOPTIONS- ConstantTRACE- ConstantSTATUS_CONTINUE- ConstantSTATUS_SWITCHING_PROTOCOLS- ConstantSTATUS_PROCESSING- ConstantSTATUS_EARLY_HINTS- ConstantSTATUS_OK- ConstantSTATUS_CREATED- ConstantSTATUS_ACCEPTED- ConstantSTATUS_NON_AUTHORITATIVE_INFO- ConstantSTATUS_NO_CONTENT- ConstantSTATUS_RESET_CONTENT- ConstantSTATUS_PARTIAL_CONTENT- ConstantSTATUS_MULTI_STATUS- ConstantSTATUS_ALREADY_REPORTED- ConstantSTATUS_IM_USED- ConstantSTATUS_MULTIPLE_CHOICES- ConstantSTATUS_MOVED_PERMANENTLY- ConstantSTATUS_FOUND- ConstantSTATUS_SEE_OTHER- ConstantSTATUS_NOT_MODIFIED- ConstantSTATUS_USE_PROXY- ConstantSTATUS_TEMPORARY_REDIRECT- ConstantSTATUS_PERMANENT_REDIRECT- ConstantSTATUS_BAD_REQUEST- ConstantSTATUS_UNAUTHORIZED- ConstantSTATUS_PAYMENT_REQUIRED- ConstantSTATUS_FORBIDDEN- ConstantSTATUS_NOT_FOUND- ConstantSTATUS_METHOD_NOT_ALLOWED- ConstantSTATUS_NOT_ACCEPTABLE- ConstantSTATUS_PROXY_AUTH_REQUIRED- ConstantSTATUS_REQUEST_TIMEOUT- ConstantSTATUS_CONFLICT- ConstantSTATUS_GONE- ConstantSTATUS_LENGTH_REQUIRED- ConstantSTATUS_PRECONDITION_FAILED- ConstantSTATUS_REQUEST_ENTITY_TOO_LARGE- ConstantSTATUS_REQUEST_URI_TOO_LONG- ConstantSTATUS_UNSUPPORTED_MEDIA_TYPE- ConstantSTATUS_REQUESTED_RANGE_NOT_SATISFIABLE- ConstantSTATUS_EXPECTATION_FAILED- ConstantSTATUS_TEAPOT- ConstantSTATUS_MISDIRECTED_REQUEST- ConstantSTATUS_UNPROCESSABLE_ENTITY- ConstantSTATUS_LOCKED- ConstantSTATUS_FAILED_DEPENDENCY- ConstantSTATUS_TOO_EARLY- ConstantSTATUS_UPGRADE_REQUIRED- ConstantSTATUS_PRECONDITION_REQUIRED- ConstantSTATUS_TOO_MANY_REQUESTS- ConstantSTATUS_REQUEST_HEADER_FIELDS_TOO_LARGE- ConstantSTATUS_UNAVAILABLE_FOR_LEGAL_REASONS- ConstantSTATUS_INTERNAL_SERVER_ERROR- ConstantSTATUS_NOT_IMPLEMENTED- ConstantSTATUS_BAD_GATEWAY- ConstantSTATUS_SERVICE_UNAVAILABLE- ConstantSTATUS_GATEWAY_TIMEOUT- ConstantSTATUS_HTTP_VERSION_NOT_SUPPORTED- ConstantSTATUS_VARIANT_ALSO_NEGOTIATES- ConstantSTATUS_INSUFFICIENT_STORAGE- ConstantSTATUS_LOOP_DETECTED- ConstantSTATUS_NOT_EXTENDED- ConstantSTATUS_NETWORK_AUTHENTICATION_REQUIRED- Constant