Learn R Programming

RestRserve (version 0.2.0.2)

HTTPError: Helps to generate http error responses

Description

Global Object which holds functions to raise common http error responses. Most of the time this class is used jointly with raise. For example calling raise(HTTPError$bad_request(body = "request is invalid")) from any place in the user code will interrupt request processing and return response with status code = 404 and body = "request is invalid".

Arguments

Format

R6::R6Class object.

Fields

  • content_type :: character(1) Type of the error response.

  • encode :: function Function to encode response body.

Methods

  • set_content_type(content_type) character(1) -> self Set content type of response. NOTE that modifying HTTPError (for example with HTTPError$set_content_type("application/json")) will have global impact on RestRserve functionality. By default HTTPError is used by Application in order to produce http errors (404, 500, etc). Hence changing HTTPError with $set_content_type() will impact not only user code, but also the errors format produced by RestRserve. Same holds for $set_encode() method below.

  • set_encode(encode) function -> self Set encode for the given content type.

  • error(status_code, body, ...) integer(1), raw() | character(), ... -> Response ... - additional named arguments which will be passed to Response$new(...). headers may be particularly useful. Generate HTTP error response with a given status code and body

  • reset() -> self Resets HTTPError to the default RestRserve state.

  • bad_request(...) ... -> [Response] Generates corresponding http error.

  • unauthorized(...) ... -> [Response] Generates corresponding http error.

  • forbidden(...) ... -> [Response] Generates corresponding http error.

  • not_found(...) ... -> [Response] Generates corresponding http error.

  • method_not_allowed(...) ... -> [Response] Generates corresponding http error.

  • not_acceptable(...) ... -> [Response] Generates corresponding http error.

  • conflict(...) ... -> [Response] Generates corresponding http error.

  • gone(...) ... -> [Response] Generates corresponding http error.

  • length_required(...) ... -> [Response] Generates corresponding http error.

  • precondition_failed(...) ... -> [Response] Generates corresponding http error.

  • payload_too_large(...) ... -> [Response] Generates corresponding http error.

  • uri_too_long(...) ... -> [Response] Generates corresponding http error.

  • unsupported_media_type(...) ... -> [Response] Generates corresponding http error.

  • range_not_satisfiable(...) ... -> [Response] Generates corresponding http error.

  • unprocessable_entity(...) ... -> [Response] Generates corresponding http error.

  • locked(...) ... -> [Response] Generates corresponding http error.

  • failed_dependency(...) ... -> [Response] Generates corresponding http error.

  • precondition_required(...) ... -> [Response] Generates corresponding http error.

  • too_many_requests(...) ... -> [Response] Generates corresponding http error.

  • request_header_fields_too_large(...) ... -> [Response] Generates corresponding http error.

  • unavailable_for_legal_reasons(...) ... -> [Response] Generates corresponding http error.

  • internal_server_error(...) ... -> [Response] Generates corresponding http error.

  • not_implemented(...) ... -> [Response] Generates corresponding http error.

  • bad_gateway(...) ... -> [Response] Generates corresponding http error.

  • service_unavailable(...) ... -> [Response] Generates corresponding http error.

  • gateway_timeout(...) ... -> [Response] Generates corresponding http error.

  • version_not_supported(...) ... -> [Response] Generates corresponding http error.

  • insufficient_storage(...) ... -> [Response] Generates corresponding http error.

  • loop_detected(...) ... -> [Response] Generates corresponding http error.

  • network_authentication_required(...) ... -> [Response] Generates corresponding http error.

See Also

raise Application

Examples

Run this code
# NOT RUN {
check_list = function(x) {
  if (!is.list(x)) raise(HTTPError$bad_request())
  invisible(TRUE)
}
check_list(list())
try(check_list(1), silent = TRUE)
# }

Run the code above in your browser using DataLab