req_verbose()
uses the following prefixes to distinguish between
different components of the HTTP requests and responses:
*
informative curl messages->
request headers>>
request body<-
response headers<<
response body
Usage
req_verbose(
req,
header_req = TRUE,
header_resp = TRUE,
body_req = FALSE,
body_resp = FALSE,
info = FALSE,
redact_headers = TRUE
)
Arguments
- req
A request.
- header_req, header_resp
Show request/response headers?
- body_req, body_resp
Should request/response bodies? When the response body is compressed, this will show the number of bytes received in each "chunk".
- info
Show informational text from curl? This is mainly useful for debugging https and auth problems, so is disabled by default.
- redact_headers
Redact confidential data in the headers? Currently redacts the contents of the Authorization header to prevent you from accidentally leaking credentials when debugging/reprexing.
Value
A modified HTTP request.
See also
req_perform()
which exposes a limited subset of these options
through the verbosity
argument and with_verbosity()
which allows you
to control the verbosity of requests deeper within the call stack.
Examples
# Use `req_verbose()` to see the headers that are sent back and forth when
# making a request
resp <- request("https://httr2.r-lib.org") |>
req_verbose() |>
req_perform()
#> -> GET / HTTP/2
#> -> Host: httr2.r-lib.org
#> -> user-agent: httr2/1.0.2.9000 r-curl/5.2.1 libcurl/7.81.0
#> -> accept: */*
#> -> accept-encoding: deflate, gzip, br, zstd
#> ->
#> <- HTTP/2 200
#> <- server: GitHub.com
#> <- content-type: text/html; charset=utf-8
#> <- last-modified: Tue, 16 Jul 2024 12:43:14 GMT
#> <- access-control-allow-origin: *
#> <- etag: W/"66966ae2-4724"
#> <- expires: Tue, 16 Jul 2024 13:21:16 GMT
#> <- cache-control: max-age=600
#> <- content-encoding: gzip
#> <- x-hosts-log-append: pages_hosts_ips:{ [1] = 10.0.3.157,[2] = 10.0.18.191,[3] = 10.0.34.194,}
#> <- x-proxy-cache: MISS
#> <- x-github-request-id: 896C:5EC2D:27D60AF:28F9AA0:66967173
#> <- accept-ranges: bytes
#> <- date: Tue, 16 Jul 2024 17:44:26 GMT
#> <- via: 1.1 varnish
#> <- age: 177
#> <- x-served-by: cache-pao-kpao1770028-PAO
#> <- x-cache: HIT
#> <- x-cache-hits: 1
#> <- x-timer: S1721151866.419044,VS0,VE1
#> <- vary: Accept-Encoding
#> <- x-fastly-request-id: bbccdd0951229a6861219b7b399f3fe1460086b2
#> <- content-length: 4555
#> <-
# Or use one of the convenient shortcuts:
resp <- request("https://httr2.r-lib.org") |>
req_perform(verbosity = 1)
#> -> GET / HTTP/2
#> -> Host: httr2.r-lib.org
#> -> user-agent: httr2/1.0.2.9000 r-curl/5.2.1 libcurl/7.81.0
#> -> accept: */*
#> -> accept-encoding: deflate, gzip, br, zstd
#> ->
#> <- HTTP/2 200
#> <- server: GitHub.com
#> <- content-type: text/html; charset=utf-8
#> <- last-modified: Tue, 16 Jul 2024 12:43:14 GMT
#> <- access-control-allow-origin: *
#> <- etag: W/"66966ae2-4724"
#> <- expires: Tue, 16 Jul 2024 13:21:16 GMT
#> <- cache-control: max-age=600
#> <- content-encoding: gzip
#> <- x-hosts-log-append: pages_hosts_ips:{ [1] = 10.0.3.157,[2] = 10.0.18.191,[3] = 10.0.34.194,}
#> <- x-proxy-cache: MISS
#> <- x-github-request-id: 896C:5EC2D:27D60AF:28F9AA0:66967173
#> <- accept-ranges: bytes
#> <- date: Tue, 16 Jul 2024 17:44:26 GMT
#> <- via: 1.1 varnish
#> <- age: 177
#> <- x-served-by: cache-pao-kpao1770028-PAO
#> <- x-cache: HIT
#> <- x-cache-hits: 2
#> <- x-timer: S1721151866.430549,VS0,VE0
#> <- vary: Accept-Encoding
#> <- x-fastly-request-id: d3660b7017a99d73d608b5d81d3baa89a87856f6
#> <- content-length: 4555
#> <-