add_parameters: Suffix one or many parameters to a HTML request

View source: R/url-manipulation.R

add_parametersR Documentation

Suffix one or many parameters to a HTML request

Description

Parameters are suffixed to a URL, like so: "request?para1=value1&para2=value2". The first parameter is suffixed with "?" and all others after that "&". This function will determine the correct suffix based on the presence of "&" in the request.

Usage

add_parameters(request, ..., .combine = "repeat_name")

Arguments

request

Character. The base URL or request which will be suffixed with the parameter.

...

The parameters to be suffixed, with name/value pairs provided as arguments.

.combine

How to combine parameters with multiple values. One of "repeat_name", "with_commas", "with_hex_commas". See Details.

Details

There is no standardised way to combine multiple values for a parameter. You should see how your API expects multiple values to be provided to the same parameter. This function allows for the following strategies. If any other value is provided, then the values will be concatenated and separated with the provided value.

  • "repeat_name" (default). The values of the parameter are repeated with the parameter name. For example, ("request", "para", c(1, 2)) will return "request?para=1&para=2".

  • "with_commas". The values of the parameter are concatenated and separated with commas. For example, ("request", "para", c(1, 2)) will return "request?para=1,2".

  • "with_commas". The values of the parameter are concatenated and separated with the ASCII keycode in hexadecimal for a comma ("%2C"). For example, ("request", "para", c(1, 2)) will return "request?para=1%2C2".

Value

Character. The request with suffixed parameters.

Examples

## Not run: 
ptvapi:::add_parameters("www.example.com", animal = crocodile)
ptvapi:::add_parameters(
  "www.example.com",
  animal = crocodile,
  food = "cherries"
)
ptvapi:::add_parameters(
  "www.example.com",
  animal = crocodile,
  numbers = c(1, 2, 3),
  .combine = "repeat_names"
)
## End(Not run)


ptvapi documentation built on Aug. 15, 2022, 5:09 p.m.