resp_status()
retrieves the numeric HTTP status coderesp_status_desc()
retrieves the brief textual description.resp_is_error()
returnsTRUE
if the status code represents an error (i.e. a 4xx or 5xx status).resp_check_status()
turns HTTPs errors into R errors.
These functions are mostly for internal use because in most cases you will only ever see a 200 response:
1xx are handled internally by curl.
3xx redirects are automatically followed. You will only see them if you have deliberately suppressed redirects with
req |> req_options(followlocation = FALSE)
.4xx client and 5xx server errors are automatically turned into R errors. You can stop them from being turned into R errors with
req_error()
, e.g.req |> req_error(is_error = ~ FALSE)
.
Usage
resp_status(resp)
resp_status_desc(resp)
resp_is_error(resp)
resp_check_status(resp, info = NULL, error_call = caller_env())
Arguments
- resp
A httr2 response object, created by
req_perform()
.- info
A character vector of additional information to include in the error message. Passed to
rlang::abort()
.- error_call
The execution environment of a currently running function, e.g.
caller_env()
. The function will be mentioned in error messages as the source of the error. See thecall
argument ofabort()
for more information.
Value
resp_status()
returns a scalar integerresp_status_desc()
returns a stringresp_is_error()
returnsTRUE
orFALSE
resp_check_status()
invisibly returns the response if it's ok; otherwise it throws an error with classhttr2_http_{status}
.
Examples
# An HTTP status code you're unlikely to see in the wild:
resp <- response(418)
resp |> resp_is_error()
#> [1] TRUE
resp |> resp_status()
#> [1] 418
resp |> resp_status_desc()
#> [1] "I'm a teapot"