Skip to contents

higher level error wrappers

Usage

http100(response, behavior = "auto", message_template, muffle = FALSE)

http101(response, behavior = "auto", message_template, muffle = FALSE)

http102(response, behavior = "auto", message_template, muffle = FALSE)

http200(response, behavior = "auto", message_template, muffle = FALSE)

http201(response, behavior = "auto", message_template, muffle = FALSE)

http202(response, behavior = "auto", message_template, muffle = FALSE)

http203(response, behavior = "auto", message_template, muffle = FALSE)

http204(response, behavior = "auto", message_template, muffle = FALSE)

http205(response, behavior = "auto", message_template, muffle = FALSE)

http206(response, behavior = "auto", message_template, muffle = FALSE)

http207(response, behavior = "auto", message_template, muffle = FALSE)

http208(response, behavior = "auto", message_template, muffle = FALSE)

http226(response, behavior = "auto", message_template, muffle = FALSE)

http300(response, behavior = "auto", message_template, muffle = FALSE)

http301(response, behavior = "auto", message_template, muffle = FALSE)

http302(response, behavior = "auto", message_template, muffle = FALSE)

http303(response, behavior = "auto", message_template, muffle = FALSE)

http304(response, behavior = "auto", message_template, muffle = FALSE)

http305(response, behavior = "auto", message_template, muffle = FALSE)

http306(response, behavior = "auto", message_template, muffle = FALSE)

http307(response, behavior = "auto", message_template, muffle = FALSE)

http308(response, behavior = "auto", message_template, muffle = FALSE)

http400(response, behavior = "auto", message_template, muffle = FALSE)

http401(response, behavior = "auto", message_template, muffle = FALSE)

http402(response, behavior = "auto", message_template, muffle = FALSE)

http403(response, behavior = "auto", message_template, muffle = FALSE)

http404(response, behavior = "auto", message_template, muffle = FALSE)

http405(response, behavior = "auto", message_template, muffle = FALSE)

http406(response, behavior = "auto", message_template, muffle = FALSE)

http407(response, behavior = "auto", message_template, muffle = FALSE)

http408(response, behavior = "auto", message_template, muffle = FALSE)

http409(response, behavior = "auto", message_template, muffle = FALSE)

http410(response, behavior = "auto", message_template, muffle = FALSE)

http411(response, behavior = "auto", message_template, muffle = FALSE)

http412(response, behavior = "auto", message_template, muffle = FALSE)

http413(response, behavior = "auto", message_template, muffle = FALSE)

http414(response, behavior = "auto", message_template, muffle = FALSE)

http415(response, behavior = "auto", message_template, muffle = FALSE)

http416(response, behavior = "auto", message_template, muffle = FALSE)

http417(response, behavior = "auto", message_template, muffle = FALSE)

http418(response, behavior = "auto", message_template, muffle = FALSE)

http419(response, behavior = "auto", message_template, muffle = FALSE)

http420(response, behavior = "auto", message_template, muffle = FALSE)

http422(response, behavior = "auto", message_template, muffle = FALSE)

http423(response, behavior = "auto", message_template, muffle = FALSE)

http424(response, behavior = "auto", message_template, muffle = FALSE)

http425(response, behavior = "auto", message_template, muffle = FALSE)

http426(response, behavior = "auto", message_template, muffle = FALSE)

http428(response, behavior = "auto", message_template, muffle = FALSE)

http429(response, behavior = "auto", message_template, muffle = FALSE)

http431(response, behavior = "auto", message_template, muffle = FALSE)

http440(response, behavior = "auto", message_template, muffle = FALSE)

http444(response, behavior = "auto", message_template, muffle = FALSE)

http449(response, behavior = "auto", message_template, muffle = FALSE)

http450(response, behavior = "auto", message_template, muffle = FALSE)

http451(response, behavior = "auto", message_template, muffle = FALSE)

http494(response, behavior = "auto", message_template, muffle = FALSE)

http495(response, behavior = "auto", message_template, muffle = FALSE)

http496(response, behavior = "auto", message_template, muffle = FALSE)

http497(response, behavior = "auto", message_template, muffle = FALSE)

http498(response, behavior = "auto", message_template, muffle = FALSE)

http499(response, behavior = "auto", message_template, muffle = FALSE)

http500(response, behavior = "auto", message_template, muffle = FALSE)

http501(response, behavior = "auto", message_template, muffle = FALSE)

http502(response, behavior = "auto", message_template, muffle = FALSE)

http503(response, behavior = "auto", message_template, muffle = FALSE)

http504(response, behavior = "auto", message_template, muffle = FALSE)

http505(response, behavior = "auto", message_template, muffle = FALSE)

http506(response, behavior = "auto", message_template, muffle = FALSE)

http507(response, behavior = "auto", message_template, muffle = FALSE)

http508(response, behavior = "auto", message_template, muffle = FALSE)

http509(response, behavior = "auto", message_template, muffle = FALSE)

http510(response, behavior = "auto", message_template, muffle = FALSE)

http511(response, behavior = "auto", message_template, muffle = FALSE)

http598(response, behavior = "auto", message_template, muffle = FALSE)

http599(response, behavior = "auto", message_template, muffle = FALSE)

http(response, behavior = "auto", message_template, muffle = FALSE)

Arguments

response

The result of a call via crul, curl, or httr

behavior

Behavior of the error. default: auto. See Details

message_template

A message template. optional. use whisker templating. names to use are: reason and status. use in template like {{reason}} and {{status}}. Note that {{message}} that is used in message_template_verbose will be ignored here.

muffle

(logical) whether to not respond when status codes in 1xx-3xx series. Default: FALSE

Note

These http* methods only use $do and not $do_verbose.

behavior parameter options

  • stop - use stop

  • warning - use warning

  • message - use message

  • auto - toggle between stop and message depending on the HTTP status code series. Defaults will be:

    • 1xx: message

    • 2xx: message

    • 3xx: message

    • 4xx: stop

    • 5xx: stop

Of course, you can always override the defaults.

using package curl

curl reponses are simple lists, so we have little to go on to make sure it's a response from the curl package. We check for list names internally but of course you could pass in a list with the right named elements, while the values are complete nonsense, in which case we'll probably fail badly. There's not much we can do.

See also

Examples

if (requireNamespace("crul")) {
 library("crul")
 res <- HttpClient$new("https://httpbin.org/status/418")$get()
 if (FALSE) http(res)
 http(res, behavior = "warning")
 http(res, behavior = "message")

 res <- HttpClient$new("https://httpbin.org/status/414")$get()
 if (FALSE) http414(res)
 http(res, behavior = "warning")
 http(res, behavior = "message")

 res <- HttpClient$new("https://httpbin.org/asdfafadsf")$get()
 if (FALSE) http404(res)
 http(res, behavior = "warning")
 http(res, behavior = "message")
}
#> Warning: I'm a teapot (HTTP 418)
#> I'm a teapot (HTTP 418)
#> Warning: Request-URI Too Long (HTTP 414)
#> Request-URI Too Long (HTTP 414)
#> Warning: Not Found (HTTP 404)
#> Not Found (HTTP 404)

if (requireNamespace("curl")) {
 library("curl")
 h <- curl::new_handle()
 curl::handle_setopt(h)
 res <- curl::curl_fetch_memory("https://httpbin.org/status/418", h)
 if (FALSE) http(res)
 http(res, behavior = "warning")
 http(res, behavior = "message")
}
#> Using libcurl 7.81.0 with OpenSSL/3.0.2
#> Warning: I'm a teapot (HTTP 418)
#> I'm a teapot (HTTP 418)

if (requireNamespace("httr")) {
 library("httr")
 res <- GET("https://httpbin.org/status/418")
 if (FALSE) http(res)
 http(res, behavior = "warning")
 http(res, behavior = "message")
}
#> 
#> Attaching package: ‘httr’
#> The following object is masked from ‘package:curl’:
#> 
#>     handle_reset
#> The following object is masked from ‘package:crul’:
#> 
#>     handle
#> Warning: I'm a teapot (HTTP 418)
#> I'm a teapot (HTTP 418)

# muffle responses
if (requireNamespace("crul")) {
 library("crul")
 res201 <- HttpClient$new("https://httpbin.org")$get("status/201")
 res404 <- HttpClient$new("https://httpbin.org")$get("status/404")
 # status codes < 300 CAN be muffled - i.e., return the http response object
 http(res201, muffle = TRUE)
 # status codes > 300 CAN NOT be muffled - i.e., return the http response object
 if (FALSE) {
 http(res404, muffle = TRUE)
 }
}