コード例 #1
0
        private static void RaiseForStatusCode(RequestResult resultRequest)
        {
            var statusCode = resultRequest.StatusCode;

            if (statusCode >= 200 && statusCode < 300)
            {
                return;
            }
            var errorsWrapper = JsonConvert.DeserializeObject <ErrorsWrapper>(resultRequest.ResponseContent);
            var response      = new QueryErrorResponse(statusCode, errorsWrapper.Errors);

            switch (statusCode)
            {
            case 400:
                throw new BadRequest(response);

            case 401:
                throw new Unauthorized(response);

            case 403:
                throw new PermissionDenied(response);

            case 404:
                throw new NotFound(response);

            case 500:
                throw new InternalError(response);

            case 503:
                throw new UnavailableError(response);

            default:
                throw new UnknownException(response);
            }
        }
コード例 #2
0
        private FaunaException ConstructStreamingException(Exception ex)
        {
            var queryError = new QueryError(null, "internal exception", ex.Message, null);
            var response   = new QueryErrorResponse(500, new List <QueryError> {
                queryError
            });

            return(new StreamingException(response));
        }
コード例 #3
0
        private FaunaException ConstructStreamingException(ObjectV value)
        {
            var code        = value.Get(CODE);
            var description = value.Get(DESCRIPTION);
            var queryError  = new QueryError(null, code, description, null);
            var response    = new QueryErrorResponse(500, new List <QueryError> {
                queryError
            });

            return(new StreamingException(response));
        }