public ReplyBase(Http.Response response) { _response = response; if (_response.StatusLine.StatusCode >= 400 && _response.StatusLine.StatusCode < 500) Error = new Error(response); else ParseResponse(); }
void OnComplete(ClientLib.Client sender, Http.HttpConnection connection, Http.Response httpResponse, Api.Responses.ResponseBase apiResponse, TimeSpan duration) { Api.Responses.Pong resp = (Api.Responses.Pong)apiResponse; WriteLine("Server execution time: " + resp.Duration.Milliseconds.ToString() + "ms."); WriteLine("Round-trip completed in " + (DateTime.Now - _start).Milliseconds.ToString() + "ms."); WriteLine("JSON response:\r\n" + resp.FullContent.ToString()); }
public Error(Http.Response response) { //response.Stream.OnTimeout += new HttpNetworkStream.TimeoutDelegate(Stream_OnTimeout); //response.Stream.OnError += new HttpNetworkStream.ErrorDelegate(Stream_OnError); //response.Stream.OnStringOperationComplete += new HttpNetworkStream.CompleteStringOperationDelegate(Stream_OnStringOperationComplete); Logger.Storage.Debug("Forming error package..."); //response.Stream.ReadToEndAsync(); try { // Head method receives a content length but does not receive content, so we would wait a timeout to get a response // causing all kinds of problems. if (response.Request.RequestLine.Method.GetType() != typeof(Http.Methods.Head)) { if (response.Body.ReceiveStream.GetType() != typeof(Networking.Protocols.Http.HttpNetworkStream)) throw new OpenDMS.Networking.Protocols.Http.HttpNetworkStreamException("Invalid stream type."); string str = ((Networking.Protocols.Http.HttpNetworkStream)response.Body.ReceiveStream).ReadToEnd(); if (str != null && str != "") { JObject jobj = JObject.Parse(str); if (jobj["error"] != null) ErrorType = jobj["error"].Value<string>(); if (jobj["id"] != null) Id = jobj["id"].Value<string>(); if (jobj["reason"] != null) Reason = jobj["reason"].Value<string>(); } else { ErrorType = "unknown"; Id = null; Reason = "Unknown"; } } else { ErrorType = "unknown"; Id = null; Reason = "Unknown"; } } catch (System.Exception e) { Logger.Storage.Error("An exception occurred while creating the Error object.", e); throw; } Logger.Storage.Debug("Error package loaded."); }
public override ReplyBase MakeReply(Http.Response response) { try { return new PutAttachmentReply(response); } catch (Exception e) { Logger.Storage.Error("An exception occurred while creating the PutAttachmentReply.", e); throw; } }
public DeleteAttachmentReply(Http.Response response) : base(response) { }
public PutDocumentReply(Http.Response response) : base(response) { }
void OnDisconnect(ClientLib.Client sender, Http.HttpConnection connection, TimeSpan duration) { WriteLine("Connection closed."); }
void OnError(ClientLib.Client sender, Http.HttpConnection connection, string message, Exception exception, TimeSpan duration) { WriteLine("Error - Message: " + message); }
public PutDatabaseReply(Http.Response response) : base(response) { }
public DeleteDocumentReply(Http.Response response) : base(response) { }
public Base(Uri uri, Http.Methods.Base method) : this(uri, new Http.Request(method, uri)) { _httpRequest.ContentLength = 0; }
public Base(Uri uri, Http.Request httpRequest) { _httpRequest = httpRequest; Uri = uri; }
public abstract ReplyBase MakeReply(Http.Response response);
public GetViewReply(Http.Response response) : base(response) { }
public DeleteDatabaseReply(Http.Response response) : base(response) { }
public HeadDocumentReply(Http.Response response) : base(response) { }
public HeadAttachmentReply(Http.Response response) : base(response) { }
void OnTimeout(ClientLib.Client sender, Http.HttpConnection connection, TimeSpan duration) { WriteLine("Timeout occurred."); }
void OnProgress(ClientLib.Client sender, Http.HttpConnection connection, Tcp.DirectionType direction, int packetSize, TimeSpan duration, decimal requestPercentSent, decimal responsePercentComplete) { WriteLine("Progress - Sent: " + requestPercentSent.ToString() + " Received: " + responsePercentComplete.ToString()); }
public PostBulkDocumentsReply(Http.Response response) : base(response) { }