module Status
Provides gRPC status codes and their names.
Definitions
def self.for_http_status(status)
Map an HTTP response status when the server did not provide grpc-status.
Signature
-
parameter
statusInteger The HTTP status code.
-
returns
Integer The fallback gRPC status code.
Implementation
def self.for_http_status(status)
case status
when 400 then INTERNAL
when 401 then UNAUTHENTICATED
when 403 then PERMISSION_DENIED
when 404 then UNIMPLEMENTED
when 429, 502, 503, 504 then UNAVAILABLE
else UNKNOWN
end
end
NAMES
Status code names, as defined by the gRPC specification.
Implementation
NAMES = {
OK => "OK",
CANCELLED => "CANCELLED",
UNKNOWN => "UNKNOWN",
INVALID_ARGUMENT => "INVALID_ARGUMENT",
DEADLINE_EXCEEDED => "DEADLINE_EXCEEDED",
NOT_FOUND => "NOT_FOUND",
ALREADY_EXISTS => "ALREADY_EXISTS",
PERMISSION_DENIED => "PERMISSION_DENIED",
RESOURCE_EXHAUSTED => "RESOURCE_EXHAUSTED",
FAILED_PRECONDITION => "FAILED_PRECONDITION",
ABORTED => "ABORTED",
OUT_OF_RANGE => "OUT_OF_RANGE",
UNIMPLEMENTED => "UNIMPLEMENTED",
INTERNAL => "INTERNAL",
UNAVAILABLE => "UNAVAILABLE",
DATA_LOSS => "DATA_LOSS",
UNAUTHENTICATED => "UNAUTHENTICATED"
}.freeze