blob: 28390b81382991b53c14a95d5b262bdcf0ff2cad [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"
#include "rocketmq/ErrorCode.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::NoContent:
return "Broker has processed the request but is not going to return any content.";
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::BadRequestAsyncPubFifoMessage:
return "Publishing of FIFO messages is only allowed synchronously";
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 "Request resource not found, which should be created through console or "
"administration API before hand.";
case ErrorCode::TopicNotFound:
return "Topic is not found. Verify the request topic has already been created through console or management API";
case ErrorCode::ConsumerGroupNotFound:
return "Group is not found. Verify the request group has already been created through console or management API";
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::TooManyRequests:
return "Quota exhausted. 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::ProtocolUnsupported:
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.";
case ErrorCode::MultipleResults:
return "Multiple results are available";
case ErrorCode::IllegalAccessPoint:
return "Access point is either malformed or invalid";
case ErrorCode::IllegalTopic: {
return "Topic is illegal either due to length is too long or invalid character is included";
}
case ErrorCode::IllegalConsumerGroup: {
return "ConsumerGroup is illegal due to its length is too long or invalid character is included";
}
case ErrorCode::IllegalMessageTag: {
return "Format of message tag is illegal.";
}
case ErrorCode::InternalClientError: {
return "Internal client error";
}
case ErrorCode::IllegalMessageKey: {
return "Message key is not legal";
}
case ErrorCode::IllegalMessageProperty: {
return "One or multiple message properties is not legal";
}
case ErrorCode::IllegalMessageGroup: {
return "Message group is invalid";
}
case ErrorCode::InvalidTransactionId: {
return "Transaction ID is invalid";
}
case ErrorCode::IllegalMessageId: {
return "Message ID is invalid";
}
case ErrorCode::IllegalFilterExpression: {
return "Filter expression is malformed";
}
case ErrorCode::InvalidReceiptHandle: {
return "Receipt handle is invalid";
}
case ErrorCode::MessagePropertyConflictWithType: {
return "Message property conflicts with message type";
}
case ErrorCode::UnsupportedClientType: {
return "Server does not support the client type claimed";
}
case ErrorCode::MessageCorrupted: {
return "Message is corrupted";
}
case ErrorCode::ClientIdRequired: {
return "x-mq-client-id header meta-data is required";
}
case ErrorCode::MessageNotFound: {
return "No new messages are available at the moment";
}
case ErrorCode::MessageBodyTooLarge: {
return "Size of message body exceeds limits";
}
case ErrorCode::MessagePropertiesTooLarge: {
return "Size of message properties exceeds limits";
}
case ErrorCode::NotSupported: {
return "Action is not supported";
}
case ErrorCode::VerifyFifoMessageUnsupported: {
return "Verify FIFO message is not supported";
}
}
return "";
}
ROCKETMQ_NAMESPACE_END