HTTP request object
Create HTTP requests
This R6 class doesn't do actual HTTP requests as does
HttpClient() - it is for building requests to use for async HTTP
requests in AsyncVaried()
Note that you can access HTTP verbs after creating an HttpRequest
object, just as you can with HttpClient. See examples for usage.
Also note that when you call HTTP verbs on a HttpRequest object you
don't need to assign the new object to a variable as the new details
you've added are added to the object itself.
See HttpClient() for information on parameters.
url(character) a url
opts(list) named list of curl options
proxiesa proxy() object
authan auth() object
headers(list) named list of headers, see http-headers
handlea handle()
progressonly supports httr::progress(), see progress
payloadresulting payload after request
print()
print method for HttpRequest objects
HttpRequest$print(x, ...)
xself
...ignored
new()
Create a new HttpRequest object
HttpRequest$new(url, opts, proxies, auth, headers, handle, progress)
url(character) A url. One of url or handle required.
optsany curl options
proxiesa proxy() object
authan auth() object
headersnamed list of headers, see http-headers
handlea handle()
progressonly supports httr::progress(), see progress
urls(character) one or more URLs
A new HttpRequest object
get()
Define a GET request
HttpRequest$get(path = NULL, query = list(), disk = NULL, stream = NULL, ...)
pathURL path, appended to the base URL
queryquery terms, as a named list
diska path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk() for help.
streaman R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
post()
Define a POST request
HttpRequest$post( path = NULL, query = list(), body = NULL, disk = NULL, stream = NULL, encode = "multipart", ... )
pathURL path, appended to the base URL
queryquery terms, as a named list
bodybody as an R list
diska path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk() for help.
streaman R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encodeone of form, multipart, json, or raw
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
put()
Define a PUT request
HttpRequest$put( path = NULL, query = list(), body = NULL, disk = NULL, stream = NULL, encode = "multipart", ... )
pathURL path, appended to the base URL
queryquery terms, as a named list
bodybody as an R list
diska path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk() for help.
streaman R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encodeone of form, multipart, json, or raw
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
patch()
Define a PATCH request
HttpRequest$patch( path = NULL, query = list(), body = NULL, disk = NULL, stream = NULL, encode = "multipart", ... )
pathURL path, appended to the base URL
queryquery terms, as a named list
bodybody as an R list
diska path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk() for help.
streaman R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encodeone of form, multipart, json, or raw
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
delete()
Define a DELETE request
HttpRequest$delete( path = NULL, query = list(), body = NULL, disk = NULL, stream = NULL, encode = "multipart", ... )
pathURL path, appended to the base URL
queryquery terms, as a named list
bodybody as an R list
diska path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk() for help.
streaman R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encodeone of form, multipart, json, or raw
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
head()
Define a HEAD request
HttpRequest$head(path = NULL, ...)
pathURL path, appended to the base URL
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
verb()
Use an arbitrary HTTP verb supported on this class Supported verbs: get, post, put, patch, delete, head
HttpRequest$verb(verb, ...)
verban HTTP verb supported on this class: get, post, put, patch, delete, head. Also supports retry.
...curl options, only those in the acceptable set from
curl::curl_options() except the following: httpget, httppost, post,
postfields, postfieldsize, and customrequest
z <- HttpRequest$new(url = "https://httpbin.org/get")
res <- z$verb('get', query = list(hello = "world"))
res$payload
method()
Get the HTTP method (if defined)
HttpRequest$method()
(character) the HTTP method
clone()
The objects of this class are cloneable with this method.
HttpRequest$clone(deep = FALSE)
deepWhether to make a deep clone.
Other async:
AsyncQueue,
AsyncVaried,
Async
## Not run:
x <- HttpRequest$new(url = "https://httpbin.org/get")
## note here how the HTTP method is shown on the first line to the right
x$get()
## assign to a new object to keep the output
z <- x$get()
### get the HTTP method
z$method()
(x <- HttpRequest$new(url = "https://httpbin.org/get")$get())
x$url
x$payload
(x <- HttpRequest$new(url = "https://httpbin.org/post"))
x$post(body = list(foo = "bar"))
HttpRequest$new(
url = "https://httpbin.org/get",
headers = list(
`Content-Type` = "application/json"
)
)
## End(Not run)
## ------------------------------------------------
## Method `HttpRequest$verb`
## ------------------------------------------------
z <- HttpRequest$new(url = "https://httpbin.org/get")
res <- z$verb('get', query = list(hello = "world"))
res$payloadPlease choose more modern alternatives, such as Google Chrome or Mozilla Firefox.