Ejemplo n.º 1
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;
        }
Ejemplo n.º 2
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());
 }