ncurl_aio | R Documentation |
nano cURL - a minimalist http(s) client - async edition.
ncurl_aio(
url,
convert = TRUE,
method = NULL,
headers = NULL,
data = NULL,
response = NULL,
timeout = NULL,
tls = NULL
)
url |
the URL address. |
convert |
[default TRUE] logical value whether to attempt conversion
of the received raw bytes to a character vector. Set to |
method |
(optional) the HTTP method as a character string. Defaults to 'GET' if not specified, and could also be 'POST', 'PUT' etc. |
headers |
(optional) a named character vector specifying the HTTP
request headers, for example: |
data |
(optional) character string request data to be submitted. If a vector, only the first element is taken, and non-character objects are ignored. |
response |
(optional) a character vector specifying the response headers
to return e.g. |
timeout |
(optional) integer value in milliseconds after which the transaction times out if not yet complete. |
tls |
(optional) applicable to secure HTTPS sites only, a client TLS
Configuration object created by |
An 'ncurlAio' (object of class 'ncurlAio' and 'recvAio') (invisibly). The following elements may be accessed:
$status
- integer HTTP repsonse status code (200 - OK).
Use status_code()
for a translation of the meaning.
$headers
- named list of response headers supplied in response
,
or NULL otherwise. If the status code is within the 300 range, i.e. a
redirect, the response header 'Location' is automatically appended to
return the redirect address.
$data
- the response body, as a character string if
convert = TRUE
(may be further parsed as html, json, xml etc. as
required), or a raw byte vector if FALSE (use writeBin()
to save as a
file).
'ncurlAio' may be used anywhere that accepts a 'promise' from the
promises package through the included as.promise
method.
The promises created are completely event-driven and non-polling.
If a status code of 200 (OK) is returned then the promise is resolved with the reponse body, otherwise it is rejected with a translation of the status code or 'errorValue' as the case may be.
ncurl()
for synchronous http requests; ncurl_session()
for
persistent connections.
nc <- ncurl_aio("https://postman-echo.com/get",
response = c("date", "server"),
timeout = 2000L)
call_aio(nc)
nc$status
nc$headers
nc$data
library(promises)
p <- as.promise(nc)
print(p)
p2 <- ncurl_aio("https://postman-echo.com/get") %...>% cat
is.promise(p2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.