blob: 9110f59865f059c5dfce7733888f317de7d83c6c [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "rocketmq/ErrorCategory.h"
ROCKETMQ_NAMESPACE_BEGIN
std::string ErrorCategory::message(int code) const {
ErrorCode ec = static_cast<ErrorCode>(code);
switch (ec) {
case ErrorCode::Success:
return "Success";
case ErrorCode::IllegalState:
return "Client state illegal. Forgot to call start()?";
case ErrorCode::BadConfiguration:
return "Bad configuration.";
case ErrorCode::BadRequest:
return "Message is ill-formed. Check validity of your topic, tag, "
"etc";
case ErrorCode::Unauthorized:
return "Authentication failed. Possibly caused by invalid credentials.";
case ErrorCode::Forbidden:
return "Authenticated user does not have privilege to perform the "
"requested action";
case ErrorCode::NotFound:
return "Topic not found, which should be created through console or "
"administration API before hand.";
case ErrorCode::RequestTimeout:
return "Timeout when connecting, reading from or writing to brokers.";
case ErrorCode::PayloadTooLarge:
return "Message body is too large.";
case ErrorCode::PreconditionRequired:
return "State of dependent procedure is not right";
case ErrorCode::TooManyRequest:
return "Quota exchausted. The user has sent too many requests in a given "
"amount of time.";
case ErrorCode::UnavailableForLegalReasons:
return "A server operator has received a legal demand to deny access to "
"a resource or to a set of resources that "
"includes the requested resource.";
case ErrorCode::HeaderFieldsTooLarge:
return "The server is unwilling to process the request because either an "
"individual header field, or all the header fields collectively, "
"are too large";
case ErrorCode::InternalServerError:
return "Server side interval error";
case ErrorCode::NotImplemented:
return "The server either does not recognize the request method, or it "
"lacks the ability to fulfil the request.";
case ErrorCode::BadGateway:
return "The server was acting as a gateway or proxy and received an "
"invalid response from the upstream server.";
case ErrorCode::ServiceUnavailable:
return "The server cannot handle the request (because it is overloaded "
"or down for maintenance). Generally, this "
"is a temporary state.";
case ErrorCode::GatewayTimeout:
return "The server was acting as a gateway or proxy and did not receive "
"a timely response from the upstream "
"server.";
case ErrorCode::ProtocolVersionNotSupported:
return "The server does not support the protocol version used in the "
"request.";
case ErrorCode::InsufficientStorage:
return "The server is unable to store the representation needed to "
"complete the request.";
default:
return "Not-Implemented";
}
}
ROCKETMQ_NAMESPACE_END