Пример #1
0
        protected override void sendError(HttpResponse servletResponse, ResponseItem responseItem)
        {
            int errorCode = responseItem.getErrorCode();

            if (errorCode < 0)
            {
                // Map JSON-RPC error codes into HTTP error codes as best we can
                // TODO: Augment the error message (if missing) with a default
                switch (errorCode)
                {
                case -32700:
                case -32602:
                case -32600:
                    // Parse error, invalid params, and invalid request
                    errorCode = (int)HttpStatusCode.BadRequest;
                    break;

                case -32601:
                    // Procedure doesn't exist
                    errorCode = (int)HttpStatusCode.NotImplemented;
                    break;

                case -32603:
                default:
                    // Internal server error, or any application-defined error
                    errorCode = (int)HttpStatusCode.InternalServerError;
                    break;
                }
            }
            servletResponse.ContentType       = ContentTypes.OUTPUT_TEXT_CONTENT_TYPE;
            servletResponse.StatusCode        = errorCode;
            servletResponse.StatusDescription = responseItem.getErrorMessage();
            servletResponse.Output.Write(responseItem.getErrorMessage());
        }
Пример #2
0
        private Object getErrorJson(ResponseItem responseItem)
        {
            Dictionary <String, Object> error = new Dictionary <String, Object>();

            error.Add("code", responseItem.getErrorCode());

            String message = errorTitles[responseItem.getErrorCode()];

            if (message == null)
            {
                message = responseItem.getErrorMessage();
            }
            else
            {
                if (!string.IsNullOrEmpty(responseItem.getErrorMessage()))
                {
                    message += ": " + responseItem.getErrorMessage();
                }
            }

            if (!string.IsNullOrEmpty(message))
            {
                error.Add("message", message);
            }

            if (responseItem.getResponse() != null)
            {
                error.Add("data", responseItem.getResponse());
            }

            return(error);
        }