resps_successes: Tools for working with lists of responses

View source: R/iterate-responses.R

resps_successesR Documentation

Tools for working with lists of responses

Description

These function provide a basic toolkit for operating with lists of responses and possibly errors, as returned by req_perform_parallel(), req_perform_sequential() and req_perform_iterative().

  • resps_successes() returns a list successful responses.

  • resps_failures() returns a list failed responses (i.e. errors).

  • resps_requests() returns the list of requests that corresponds to each request.

  • resps_data() returns all the data in a single vector or data frame. It requires the vctrs package to be installed.

Usage

resps_successes(resps)

resps_failures(resps)

resps_requests(resps)

resps_data(resps, resp_data)

Arguments

resps

A list of responses (possibly including errors).

resp_data

A function that takes a response (resp) and returns the data foind inside that response as a vector or data frame.

Examples

reqs <- list(
  request(example_url()) |> req_url_path("/ip"),
  request(example_url()) |> req_url_path("/user-agent"),
  request(example_url()) |> req_template("/status/:status", status = 404),
  request("INVALID")
)
resps <- req_perform_parallel(reqs, on_error = "continue")

# find successful responses
resps |> resps_successes()

# collect all their data
resps |> resps_successes() |> resps_data(\(resp) resp_body_json(resp))

# find requests corresponding to failure responses
resps |> resps_failures() |> resps_requests()

httr2 documentation built on Nov. 14, 2023, 5:08 p.m.