Modify the basic request for an API by adding a path and any other path-specific properties.
Usage
req_modify(
req,
...,
path = NULL,
query = NULL,
body = NULL,
mime_type = NULL,
method = NULL
)
Arguments
- req
(
httr2_request
) Ahttr2::request()
object.- ...
These dots are for future extensions and must be empty.
- path
(
character
orlist
) The route to an API endpoint. Optionally, a list or character vector with the path as one or more unnamed arguments (which will be concatenated with "/") plus named arguments toglue::glue()
into the path.- query
(
character
orlist
) An optional list or character vector of parameters to pass in the query portion of the request. Can also include a.multi
argument to pass tohttr2::req_url_query()
to control how elements containing multiple values are handled.- body
(multiple types) An object to use as the body of the request. If any component of the body is a path, pass it through
fs::path()
or otherwise give it the class "fs_path" to indicate that it is a path.- mime_type
(
length-1 character
) The mime type of any files present in the body. Some APIs allow you to leave this as NULL for them to guess.- method
(
length-1 character
, optional) If the method is something other thanGET
orPOST
, supply it. Case is ignored.
Value
A httr2::request()
object.
Examples
req_base <- req_init("https://example.com")
req_modify(req_base, path = c("specific/{path}", path = "endpoint"))
#> <httr2_request>
#> GET https://example.com/specific/endpoint
#> Body: empty
#> Options:
#> • useragent: "httr2/1.1.0 r-curl/6.1.0 libcurl/8.5.0 nectar/0.0.0.9004
#> (https://nectar.api2r.org)"
req_modify(req_base, query = c("param1" = "value1", "param2" = "value2"))
#> <httr2_request>
#> GET https://example.com/?param1=value1¶m2=value2
#> Body: empty
#> Options:
#> • useragent: "httr2/1.1.0 r-curl/6.1.0 libcurl/8.5.0 nectar/0.0.0.9004
#> (https://nectar.api2r.org)"