mirror of
https://github.com/XRPLF/clio.git
synced 2026-04-29 15:37:53 +00:00
@@ -55,7 +55,7 @@ getWarningInfo(WarningCode code)
|
||||
};
|
||||
|
||||
auto matchByCode = [code](auto const& info) { return info.code == code; };
|
||||
if (auto it = find_if(begin(infos), end(infos), matchByCode); it != end(infos))
|
||||
if (auto it = std::ranges::find_if(infos, matchByCode); it != end(infos))
|
||||
return *it;
|
||||
|
||||
throw(out_of_range("Invalid WarningCode"));
|
||||
@@ -75,32 +75,43 @@ ClioErrorInfo const&
|
||||
getErrorInfo(ClioError code)
|
||||
{
|
||||
constexpr static ClioErrorInfo infos[]{
|
||||
{ClioError::rpcMALFORMED_CURRENCY, "malformedCurrency", "Malformed currency."},
|
||||
{ClioError::rpcMALFORMED_REQUEST, "malformedRequest", "Malformed request."},
|
||||
{ClioError::rpcMALFORMED_OWNER, "malformedOwner", "Malformed owner."},
|
||||
{ClioError::rpcMALFORMED_ADDRESS, "malformedAddress", "Malformed address."},
|
||||
{ClioError::rpcINVALID_HOT_WALLET, "invalidHotWallet", "Invalid hot wallet."},
|
||||
{ClioError::rpcUNKNOWN_OPTION, "unknownOption", "Unknown option."},
|
||||
{ClioError::rpcFIELD_NOT_FOUND_TRANSACTION, "fieldNotFoundTransaction", "Missing field."},
|
||||
{ClioError::rpcMALFORMED_ORACLE_DOCUMENT_ID, "malformedDocumentID", "Malformed oracle_document_id."},
|
||||
{ClioError::rpcMALFORMED_AUTHORIZED_CREDENTIALS,
|
||||
"malformedAuthorizedCredentials",
|
||||
"Malformed authorized credentials."},
|
||||
{.code = ClioError::rpcMALFORMED_CURRENCY, .error = "malformedCurrency", .message = "Malformed currency."},
|
||||
{.code = ClioError::rpcMALFORMED_REQUEST, .error = "malformedRequest", .message = "Malformed request."},
|
||||
{.code = ClioError::rpcMALFORMED_OWNER, .error = "malformedOwner", .message = "Malformed owner."},
|
||||
{.code = ClioError::rpcMALFORMED_ADDRESS, .error = "malformedAddress", .message = "Malformed address."},
|
||||
{.code = ClioError::rpcINVALID_HOT_WALLET, .error = "invalidHotWallet", .message = "Invalid hot wallet."},
|
||||
{.code = ClioError::rpcUNKNOWN_OPTION, .error = "unknownOption", .message = "Unknown option."},
|
||||
{.code = ClioError::rpcFIELD_NOT_FOUND_TRANSACTION,
|
||||
.error = "fieldNotFoundTransaction",
|
||||
.message = "Missing field."},
|
||||
{.code = ClioError::rpcMALFORMED_ORACLE_DOCUMENT_ID,
|
||||
.error = "malformedDocumentID",
|
||||
.message = "Malformed oracle_document_id."},
|
||||
{.code = ClioError::rpcMALFORMED_AUTHORIZED_CREDENTIALS,
|
||||
.error = "malformedAuthorizedCredentials",
|
||||
.message = "Malformed authorized credentials."},
|
||||
// special system errors
|
||||
{ClioError::rpcINVALID_API_VERSION, JS(invalid_API_version), "Invalid API version."},
|
||||
{ClioError::rpcCOMMAND_IS_MISSING, JS(missingCommand), "Method is not specified or is not a string."},
|
||||
{ClioError::rpcCOMMAND_NOT_STRING, "commandNotString", "Method is not a string."},
|
||||
{ClioError::rpcCOMMAND_IS_EMPTY, "emptyCommand", "Method is an empty string."},
|
||||
{ClioError::rpcPARAMS_UNPARSEABLE, "paramsUnparseable", "Params must be an array holding exactly one object."},
|
||||
{.code = ClioError::rpcINVALID_API_VERSION, .error = JS(invalid_API_version), .message = "Invalid API version."
|
||||
},
|
||||
{.code = ClioError::rpcCOMMAND_IS_MISSING,
|
||||
.error = JS(missingCommand),
|
||||
.message = "Method is not specified or is not a string."},
|
||||
{.code = ClioError::rpcCOMMAND_NOT_STRING, .error = "commandNotString", .message = "Method is not a string."},
|
||||
{.code = ClioError::rpcCOMMAND_IS_EMPTY, .error = "emptyCommand", .message = "Method is an empty string."},
|
||||
{.code = ClioError::rpcPARAMS_UNPARSEABLE,
|
||||
.error = "paramsUnparseable",
|
||||
.message = "Params must be an array holding exactly one object."},
|
||||
// etl related errors
|
||||
{ClioError::etlCONNECTION_ERROR, "connectionError", "Couldn't connect to rippled."},
|
||||
{ClioError::etlREQUEST_ERROR, "requestError", "Error sending request to rippled."},
|
||||
{ClioError::etlREQUEST_TIMEOUT, "timeout", "Request to rippled timed out."},
|
||||
{ClioError::etlINVALID_RESPONSE, "invalidResponse", "Rippled returned an invalid response."}
|
||||
{.code = ClioError::etlCONNECTION_ERROR, .error = "connectionError", .message = "Couldn't connect to rippled."},
|
||||
{.code = ClioError::etlREQUEST_ERROR, .error = "requestError", .message = "Error sending request to rippled."},
|
||||
{.code = ClioError::etlREQUEST_TIMEOUT, .error = "timeout", .message = "Request to rippled timed out."},
|
||||
{.code = ClioError::etlINVALID_RESPONSE,
|
||||
.error = "invalidResponse",
|
||||
.message = "Rippled returned an invalid response."}
|
||||
};
|
||||
|
||||
auto matchByCode = [code](auto const& info) { return info.code == code; };
|
||||
if (auto it = find_if(begin(infos), end(infos), matchByCode); it != end(infos))
|
||||
if (auto it = std::ranges::find_if(infos, matchByCode); it != end(infos))
|
||||
return *it;
|
||||
|
||||
throw(out_of_range("Invalid error code"));
|
||||
|
||||
Reference in New Issue
Block a user