Converts http errors to R errors or warnings - these should always be used whenever you're creating requests inside a function, so that the user knows why a request has failed.

stop_for_status(x, task = NULL)

warn_for_status(x, task = NULL)

message_for_status(x, task = NULL)

Arguments

x

a response, or numeric http code (or other object with status_code method)

task

The text of the message: either NULL or a character vector. If non-NULL, the error message will finish with "Failed to task".

Value

If request was successful, the response (invisibly). Otherwise, raised a classed http error or warning, as generated by http_condition()

See also

http_status() and http://en.wikipedia.org/wiki/Http_status_codes for more information on http status codes.

Other response methods: content(), http_error(), http_status(), response()

Examples

x <- GET("http://httpbin.org/status/200") stop_for_status(x) # nothing happens warn_for_status(x) message_for_status(x)
#> OK (HTTP 200).
x <- GET("http://httpbin.org/status/300") if (FALSE) { stop_for_status(x) } warn_for_status(x)
#> Warning: Multiple Choices (HTTP 300).
message_for_status(x)
#> Multiple Choices (HTTP 300).
x <- GET("http://httpbin.org/status/404") if (FALSE) { stop_for_status(x) } warn_for_status(x)
#> Warning: Not Found (HTTP 404).
message_for_status(x)
#> Not Found (HTTP 404).
# You can provide more information with the task argument warn_for_status(x, "download spreadsheet")
#> Warning: Not Found (HTTP 404). Failed to download spreadsheet.
message_for_status(x, "download spreadsheet")
#> Not Found (HTTP 404). Failed to download spreadsheet.