Intended primarily for internal use in client packages that provide
high-level wrappers for users. request_make()
does relatively little:
Calls an HTTP method.
Adds a user agent.
Enforces
"json"
as the default forencode
. This differs from httr's default behaviour, but aligns better with Google APIs.
Typically the input is created with request_build()
and the output is
processed with response_process()
.
Arguments
- x
List. Holds the components for an HTTP request, presumably created with
request_develop()
orrequest_build()
. Must contain amethod
andurl
. If present,body
andtoken
are used.- ...
Optional arguments passed through to the HTTP method. Currently neither gargle nor httr checks that all are used, so be aware that unused arguments may be silently ignored.
- encode
If the body is a named list, how should it be encoded? Can be one of form (application/x-www-form-urlencoded), multipart, (multipart/form-data), or json (application/json).
For "multipart", list elements can be strings or objects created by
upload_file()
. For "form", elements are coerced to strings and escaped, useI()
to prevent double-escaping. For "json", parameters are automatically "unboxed" (i.e. length 1 vectors are converted to scalars). To preserve a length 1 vector as a vector, wrap inI()
. For "raw", either a character or raw vector. You'll need to make sure to set thecontent_type()
yourself.- user_agent
A user agent string, prepared by
httr::user_agent()
. When in doubt, a client package should have an internal function that extendsgargle_user_agent()
by prepending its return value with the client package's name and version.
See also
Other requests and responses:
request_develop()
,
response_process()
Examples
if (FALSE) {
req <- gargle::request_build(
method = "GET",
path = "path/to/the/resource",
token = "PRETEND_I_AM_TOKEN"
)
gargle::request_make(req)
}