mirror of https://gitee.com/bigwinds/arangodb
issue #1626: fix HTTP status return codes for several error codes
This commit is contained in:
parent
7c9ee31c2d
commit
22b4524ba6
|
@ -210,45 +210,139 @@ HttpResponse::HttpResponseCode HttpResponse::responseCode (int code) {
|
|||
|
||||
switch (code) {
|
||||
case TRI_ERROR_BAD_PARAMETER:
|
||||
case TRI_ERROR_ARANGO_DATABASE_NAME_INVALID:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_KEY_BAD:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_KEY_UNEXPECTED:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_KEY_MISSING:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_TYPE_INVALID:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_HANDLE_BAD:
|
||||
case TRI_ERROR_CLUSTER_MUST_NOT_CHANGE_SHARDING_ATTRIBUTES:
|
||||
case TRI_ERROR_CLUSTER_MUST_NOT_SPECIFY_KEY:
|
||||
case TRI_ERROR_TYPE_ERROR:
|
||||
case TRI_ERROR_QUERY_NUMBER_OUT_OF_RANGE:
|
||||
case TRI_ERROR_QUERY_VARIABLE_NAME_INVALID:
|
||||
case TRI_ERROR_QUERY_VARIABLE_REDECLARED:
|
||||
case TRI_ERROR_QUERY_VARIABLE_NAME_UNKNOWN:
|
||||
case TRI_ERROR_QUERY_TOO_MANY_COLLECTIONS:
|
||||
case TRI_ERROR_QUERY_FUNCTION_NAME_UNKNOWN:
|
||||
case TRI_ERROR_QUERY_FUNCTION_ARGUMENT_NUMBER_MISMATCH:
|
||||
case TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH:
|
||||
case TRI_ERROR_QUERY_INVALID_REGEX:
|
||||
case TRI_ERROR_QUERY_BIND_PARAMETERS_INVALID:
|
||||
case TRI_ERROR_QUERY_BIND_PARAMETER_MISSING:
|
||||
case TRI_ERROR_QUERY_BIND_PARAMETER_UNDECLARED:
|
||||
case TRI_ERROR_QUERY_BIND_PARAMETER_TYPE:
|
||||
case TRI_ERROR_QUERY_INVALID_LOGICAL_VALUE:
|
||||
case TRI_ERROR_QUERY_INVALID_ARITHMETIC_VALUE:
|
||||
case TRI_ERROR_QUERY_DIVISION_BY_ZERO:
|
||||
case TRI_ERROR_QUERY_ARRAY_EXPECTED:
|
||||
case TRI_ERROR_QUERY_FAIL_CALLED:
|
||||
case TRI_ERROR_QUERY_INVALID_DATE_VALUE:
|
||||
case TRI_ERROR_QUERY_MULTI_MODIFY:
|
||||
case TRI_ERROR_QUERY_COMPILE_TIME_OPTIONS:
|
||||
case TRI_ERROR_QUERY_EXCEPTION_OPTIONS:
|
||||
case TRI_ERROR_QUERY_COLLECTION_USED_IN_EXPRESSION:
|
||||
case TRI_ERROR_QUERY_DISALLOWED_DYNAMIC_CALL:
|
||||
case TRI_ERROR_QUERY_ACCESS_AFTER_MODIFICATION:
|
||||
case TRI_ERROR_QUERY_FUNCTION_INVALID_NAME:
|
||||
case TRI_ERROR_QUERY_FUNCTION_INVALID_CODE:
|
||||
case TRI_ERROR_REPLICATION_INVALID_APPLIER_CONFIGURATION:
|
||||
case TRI_ERROR_REPLICATION_RUNNING:
|
||||
case TRI_ERROR_REPLICATION_NO_START_TICK:
|
||||
case TRI_ERROR_ARANGO_USE_SYSTEM_DATABASE:
|
||||
case TRI_ERROR_ARANGO_INVALID_KEY_GENERATOR:
|
||||
case TRI_ERROR_ARANGO_INVALID_EDGE_ATTRIBUTE:
|
||||
case TRI_ERROR_ARANGO_INDEX_DOCUMENT_ATTRIBUTE_MISSING:
|
||||
case TRI_ERROR_ARANGO_INDEX_CREATION_FAILED:
|
||||
case TRI_ERROR_ARANGO_COLLECTION_TYPE_MISMATCH:
|
||||
case TRI_ERROR_ARANGO_COLLECTION_TYPE_INVALID:
|
||||
case TRI_ERROR_ARANGO_VALIDATION_FAILED:
|
||||
case TRI_ERROR_ARANGO_ATTRIBUTE_PARSER_FAILED:
|
||||
case TRI_ERROR_ARANGO_CROSS_COLLECTION_REQUEST:
|
||||
case TRI_ERROR_ARANGO_INDEX_HANDLE_BAD:
|
||||
case TRI_ERROR_ARANGO_CAP_CONSTRAINT_ALREADY_DEFINED:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_TOO_LARGE:
|
||||
case TRI_ERROR_QUERY_PARSE:
|
||||
case TRI_ERROR_QUERY_EMPTY:
|
||||
case TRI_ERROR_TRANSACTION_NESTED:
|
||||
case TRI_ERROR_TRANSACTION_UNREGISTERED_COLLECTION:
|
||||
case TRI_ERROR_TRANSACTION_DISALLOWED_OPERATION:
|
||||
case TRI_ERROR_USER_INVALID_NAME:
|
||||
case TRI_ERROR_USER_INVALID_PASSWORD:
|
||||
case TRI_ERROR_TASK_INVALID_ID:
|
||||
case TRI_ERROR_GRAPH_INVALID_GRAPH:
|
||||
case TRI_ERROR_GRAPH_COULD_NOT_CREATE_GRAPH:
|
||||
case TRI_ERROR_GRAPH_INVALID_VERTEX:
|
||||
case TRI_ERROR_GRAPH_COULD_NOT_CREATE_VERTEX:
|
||||
case TRI_ERROR_GRAPH_COULD_NOT_CHANGE_VERTEX:
|
||||
case TRI_ERROR_GRAPH_INVALID_EDGE:
|
||||
case TRI_ERROR_GRAPH_COULD_NOT_CREATE_EDGE:
|
||||
case TRI_ERROR_GRAPH_COULD_NOT_CHANGE_EDGE:
|
||||
case TRI_ERROR_GRAPH_COLLECTION_MULTI_USE:
|
||||
case TRI_ERROR_GRAPH_COLLECTION_USE_IN_MULTI_GRAPHS:
|
||||
case TRI_ERROR_GRAPH_CREATE_MISSING_NAME:
|
||||
case TRI_ERROR_GRAPH_CREATE_MALFORMED_EDGE_DEFINITION:
|
||||
case TRI_ERROR_GRAPH_WRONG_COLLECTION_TYPE_VERTEX:
|
||||
case TRI_ERROR_GRAPH_NOT_IN_ORPHAN_COLLECTION:
|
||||
case TRI_ERROR_GRAPH_COLLECTION_USED_IN_EDGE_DEF:
|
||||
case TRI_ERROR_GRAPH_EDGE_COLLECTION_NOT_USED:
|
||||
case TRI_ERROR_GRAPH_NOT_AN_ARANGO_COLLECTION:
|
||||
case TRI_ERROR_GRAPH_INVALID_EXAMPLE_ARRAY_OBJECT_STRING:
|
||||
case TRI_ERROR_GRAPH_INVALID_EXAMPLE_ARRAY_OBJECT:
|
||||
case TRI_ERROR_GRAPH_INVALID_NUMBER_OF_ARGUMENTS:
|
||||
case TRI_ERROR_GRAPH_INVALID_PARAMETER:
|
||||
case TRI_ERROR_GRAPH_INVALID_ID:
|
||||
case TRI_ERROR_GRAPH_COLLECTION_USED_IN_ORPHANS:
|
||||
case TRI_ERROR_GRAPH_EDGE_COL_DOES_NOT_EXIST:
|
||||
return BAD;
|
||||
|
||||
case TRI_ERROR_ARANGO_READ_ONLY:
|
||||
return FORBIDDEN;
|
||||
|
||||
case TRI_ERROR_ARANGO_DATABASE_NOT_FOUND:
|
||||
case TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND:
|
||||
case TRI_ERROR_ARANGO_COLLECTION_NOT_LOADED:
|
||||
case TRI_ERROR_ARANGO_DOCUMENT_NOT_FOUND:
|
||||
case TRI_ERROR_ARANGO_ENDPOINT_NOT_FOUND:
|
||||
case TRI_ERROR_ARANGO_INDEX_NOT_FOUND:
|
||||
case TRI_ERROR_CURSOR_NOT_FOUND:
|
||||
case TRI_ERROR_QUERY_FUNCTION_NOT_FOUND:
|
||||
case TRI_ERROR_QUERY_GEO_INDEX_MISSING:
|
||||
case TRI_ERROR_QUERY_FULLTEXT_INDEX_MISSING:
|
||||
case TRI_ERROR_QUERY_NOT_FOUND:
|
||||
case TRI_ERROR_USER_NOT_FOUND:
|
||||
case TRI_ERROR_TASK_NOT_FOUND:
|
||||
case TRI_ERROR_GRAPH_NOT_FOUND:
|
||||
case TRI_ERROR_GRAPH_VERTEX_COL_DOES_NOT_EXIST:
|
||||
case TRI_ERROR_GRAPH_NO_GRAPH_COLLECTION:
|
||||
case TRI_ERROR_QUEUE_UNKNOWN:
|
||||
return NOT_FOUND;
|
||||
|
||||
case TRI_ERROR_REQUEST_CANCELED:
|
||||
case TRI_ERROR_QUERY_KILLED:
|
||||
case TRI_ERROR_TRANSACTION_ABORTED:
|
||||
return GONE;
|
||||
|
||||
case TRI_ERROR_ARANGO_CONFLICT:
|
||||
case TRI_ERROR_ARANGO_UNIQUE_CONSTRAINT_VIOLATED:
|
||||
case TRI_ERROR_CURSOR_BUSY:
|
||||
case TRI_ERROR_USER_DUPLICATE:
|
||||
case TRI_ERROR_TASK_DUPLICATE_ID:
|
||||
case TRI_ERROR_GRAPH_DUPLICATE:
|
||||
case TRI_ERROR_QUEUE_ALREADY_EXISTS:
|
||||
return CONFLICT;
|
||||
|
||||
case TRI_ERROR_DEADLOCK:
|
||||
case TRI_ERROR_ARANGO_OUT_OF_KEYS:
|
||||
case TRI_ERROR_CLUSTER_SHARD_GONE:
|
||||
case TRI_ERROR_CLUSTER_TIMEOUT:
|
||||
case TRI_ERROR_OUT_OF_MEMORY:
|
||||
case TRI_ERROR_INTERNAL:
|
||||
return SERVER_ERROR;
|
||||
|
||||
case TRI_ERROR_CLUSTER_UNSUPPORTED:
|
||||
return NOT_IMPLEMENTED;
|
||||
|
||||
case TRI_ERROR_OUT_OF_MEMORY:
|
||||
case TRI_ERROR_INTERNAL:
|
||||
default:
|
||||
return SERVER_ERROR;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue