http/client
src/http/client.tur
defn
http-get
(http-get [url : cstr] :)
perform an HTTP GET request.
Parameters
| url | full URL, e.g. "https://api.example.com/items" |
Returns
result<:int> -- ok(response-handle) or err(:cstr message)
Example
(let [r (http-get "https://httpbin.org/get")]
(when (ok? r) (println (response-body (ok-val r)))))
Since: P5
defn
http-post
(http-post [url : cstr body : cstr] :)
perform an HTTP POST request with a string body.
Parameters
| url | full URL | |
| body | request body string |
Returns
result<:int> -- ok(response-handle) or err(:cstr message)
Example
(http-post "https://httpbin.org/post" "{\"x\":1}")
Since: P5
defn
http-put
(http-put [url : cstr body : cstr] :)
perform an HTTP PUT request with a string body.
Parameters
| url | full URL | |
| body | request body string |
Returns
result<:int> -- ok(response-handle) or err(:cstr message)
Since: P5
defn
http-delete
(http-delete [url : cstr] :)
perform an HTTP DELETE request.
Parameters
| url | full URL |
Returns
result<:int> -- ok(response-handle) or err(:cstr message)
Since: P5
defn
http-request
(http-request [req : int] :)
perform a fully custom HTTP request from a request handle.
Parameters
| req | :int request handle from (request method url body headers) |
Returns
result<:int> -- ok(response-handle) or err(:cstr message)
Example
(let [req (request "POST" "https://api.example.com" "{}" (nil-value))]
(http-request req))
Since: P5
defn
http-result-free
(http-result-free [r ptr<void>] :)
release a result returned by http-get & co.
Parameters
| r | the ptr<void> result from http-get, http-post, http-put, | |
| http-delete or http-request |
Returns
:void
Example
(let [r (http-get "http://127.0.0.1:8080/")
s (if (ok? r) (response-status (ok-val r)) 0)]
(http-result-free r)
s)
Since: 0.2.0
Internal definitions
__req-method__req-url__req-body__req-hdrs__do-request