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
proxies
a proxy()
object
auth
an auth()
object
headers
(list) named list of headers, see http-headers
handle
a handle()
progress
only supports httr::progress()
, see progress
payload
resulting payload after request
print()
print method for HttpRequest
objects
HttpRequest$print(x, ...)
x
self
...
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.
opts
any curl options
proxies
a proxy()
object
auth
an auth()
object
headers
named list of headers, see http-headers
handle
a handle()
progress
only 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, ...)
path
URL path, appended to the base URL
query
query terms, as a named list
disk
a path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk()
for help.
stream
an 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", ... )
path
URL path, appended to the base URL
query
query terms, as a named list
body
body as an R list
disk
a path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk()
for help.
stream
an R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encode
one 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", ... )
path
URL path, appended to the base URL
query
query terms, as a named list
body
body as an R list
disk
a path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk()
for help.
stream
an R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encode
one 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", ... )
path
URL path, appended to the base URL
query
query terms, as a named list
body
body as an R list
disk
a path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk()
for help.
stream
an R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encode
one 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", ... )
path
URL path, appended to the base URL
query
query terms, as a named list
body
body as an R list
disk
a path to write to. if NULL (default), memory used.
See curl::curl_fetch_disk()
for help.
stream
an R function to determine how to stream data. if
NULL (default), memory used. See curl::curl_fetch_stream()
for help
encode
one 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, ...)
path
URL 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, ...)
verb
an 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)
deep
Whether 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$payload
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.