internal void OnResponseError(EventResponseErrorArgs e) { ResponseError?.Invoke(this, e); if (e.Result != null) { e.Response.Result(e.Result); } }
public void Post(string apiRoute, ApiRequestContext context, int timeout) { var request = System.Net.WebRequest.Create(_domain + '/' + apiRoute); request.Method = "POST"; request.ContentType = "application/json"; request.Timeout = timeout; using (var sw = new System.IO.StreamWriter(request.GetRequestStream())) { var serializer = new JsonSerializer(); serializer.Serialize(sw, context); } var ts = new System.Threading.ThreadStart(() => { try { var response = request.GetResponse() as System.Net.HttpWebResponse; using (var stream = response.GetResponseStream()) { using (var reader = new System.IO.StreamReader(stream, Encoding.UTF8)) { var responseString = reader.ReadToEnd(); var responseObject = JObject.Parse(responseString); Code = responseObject.Get <int>("Code"); Message = responseObject.Get <string>("Message"); if (Code >= 0) { Value = responseObject.SelectToken("Value"); } } } } catch (Exception e) { Code = -505; Message = e.Message; } finally { Responsed?.Invoke(this); } if (Code < 0) { ResponseError?.Invoke(this); } else { ResponseOK?.Invoke(this); } }); new System.Threading.Thread(ts).Start(); }
internal void OnResponseError(EventResponseErrorArgs e) { if (HttpServer.EnableLog(BeetleX.EventArgs.LogType.Warring)) { HttpServer.Log(BeetleX.EventArgs.LogType.Warring, $"gateway {e.Request.RemoteIPAddress} {e.Request.Method} {e.Request.Url} error {e.Message}"); } HttpServer.RequestExecuted(); ResponseError?.Invoke(this, e); if (e.Result != null) { e.Response.Result(e.Result); } }
public void Execute() { try { using (var sw = new System.IO.StreamWriter(_request.GetRequestStream())) { var serializer = new JsonSerializer(); serializer.Serialize(sw, _context); } var response = _request.GetResponse() as System.Net.HttpWebResponse; using (var stream = response.GetResponseStream()) { using (var reader = new System.IO.StreamReader(stream, Encoding.UTF8)) { var responseString = reader.ReadToEnd(); var responseObject = JObject.Parse(responseString); Code = responseObject.Get <int>("Code"); Message = responseObject.Get <string>("Message"); if (Code >= 0) { Value = responseObject.SelectToken("Value"); } } } } catch (Exception e) { Code = -505; Message = e.Message; } finally { Responsed?.Invoke(this); } if (Code < 0) { ResponseError?.Invoke(this); } else { ResponseOK?.Invoke(this); } }
/// <summary> /// Occurs when a response returns an error code that does not fit into any other category, or an exception occurs during the response. /// </summary> /// <param name="e">Arguments for the event.</param> protected virtual void OnResponseError(ResponseEventArgs e) { ResponseError?.Invoke(this, e); }