public void RequestAync() { HttpResponseArgs Model = new HttpResponseArgs(); #region Comment try { if (!Url.Contains("http://")) { Url = Url.Insert(0, "http://"); } request = WebRequest.Create(Url) as HttpWebRequest; HttpWebResponse httpResponse = (HttpWebResponse)request.GetResponse(); var encoding = Encoding.ASCII; using (var reader = new StreamReader(httpResponse.GetResponseStream(), encoding)) { int statusCode = GetResonseStatus(httpResponse.StatusCode); string responseBody = reader.ReadToEnd(); SetResponse(statusCode, responseBody, ELConstant); } } catch (WebException ex) { int statusCodeDefault = 500; if (ex.Response == null) { statusCodeDefault = 500; } else { var statusCode = ((HttpWebResponse)ex?.Response).StatusCode; statusCodeDefault = GetResonseStatus(statusCode); } SetResponse(500, "An error occurred, status code: " + statusCodeDefault, ELConstant); } catch (Exception ex) { SetResponse(500, "An error occurred, status code: " + 500, ELConstant); } #endregion #region Asynchronous Logic //var resp = await request.GetResponseAsync(); //using(var stream = new StreamReader(resp.GetResponseStream(),true)) //{ // Model.httpBody= stream.ReadToEnd(); // Model.ResponseCode = 200; // Model.ELConstant =ELConstant; // responseEvent.Response(Model); //} #endregion }
protected virtual void onWebContentReturned(HttpResponseArgs e) { EventHandler handler = WebConentReturned; if (handler != null) { handler(this, e); } }
public void SetResponse(int statusCode, string httpBody, ElementConstant el) { HttpResponseArgs Model = new HttpResponseArgs(); Model.ResponseCode = statusCode; Model.httpBody = httpBody; Model.ELConstant = el; OnResponseHandler(Model); }
private void button1_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(url1.Text) && !string.IsNullOrEmpty(url2.Text)) { HttpResponseArgs resOne = _httpHandler.GetContent((url1.Text).ToString()); response1.Text = $"httpBody = {resOne.httpBody} \n\n responseCode = {resOne.responseCode}"; HttpResponseArgs resTwo = _httpHandler.GetContent((url2.Text).ToString()); response2.Text = $"httpBody = {resTwo.httpBody} \n\n responseCode = {resTwo.responseCode}"; } else { MessageBox.Show("Url Textboxes are required"); } }
private void MyHandle_WebConentReturned(object sender, EventArgs e) { if (e == null) { txtResponse1.Clear(); txtResponse2.Clear(); return; } HttpResponseArgs resp = (HttpResponseArgs)e; switch (resp.ELConstant) { case Contant.ElementConstant.MessageResponse1: SetResponseBody(txtResponse1, resp.httpBody); break; case Contant.ElementConstant.MessageResponse2: SetResponseBody(txtResponse2, resp.httpBody); break; } }
/// <summary> /// Keep proxy pumping /// </summary> public void Update() { try { if (m_isDone) return; if (m_www == null) { Debug.LogWarning("WWW object was null."); m_isDone = true; } else if (m_www != null && m_www.error == null && m_www.isDone) { if (!string.IsNullOrEmpty(m_www.text)) { if (m_www.text.StartsWith(@"[{""channel"":""\/meta\/connect"",")) m_mode = Mode.Subscribe; Debug.Log(string.Format("mode={0} text={1}", m_mode, m_www.text)); } if (m_www.bytes != null) { string contentKey = string.Empty; string contentType = string.Empty; byte[] copyBytes; if (m_www.bytes.Length != 0) { copyBytes = new byte[m_www.bytes.Length]; Array.Copy(m_www.bytes, copyBytes, m_www.bytes.Length); } else copyBytes = new byte[0]; m_responseArgs = new HttpResponseArgs(m_requestArgs); m_responseArgs.BinaryContent = copyBytes; m_responseArgs.StatusCode = 200; m_responseArgs.TextContent = System.Text.Encoding.UTF8.GetString(copyBytes); Debug.Log(string.Format("TextContent: {0}", m_responseArgs.TextContent)); foreach (KeyValuePair<string, string> kvp in m_www.responseHeaders) { m_responseArgs.Headers.Add(kvp.Key, kvp.Value); //Debug.Log(string.Format("m_www.responseHeaders: {0} | {1}", kvp.Key, kvp.Value)); } foreach (string key in m_responseArgs.Headers.AllKeys) { Debug.Log(string.Format("Passed Header: {0} | {1}", key, m_responseArgs.Headers[key])); } Debug.Log("WebSyncHttpTransfer.Update: Prepared response args"); // Done getting the bytes, kill the WWW m_www.Dispose(); m_www = null; m_isDone = true; Debug.Log("WebSyncHttpTransfer.Update: Transfer data is done"); } } else if (m_www.error != null) { if (m_www.error != "WWW request was cancelled") { Debug.LogError(string.Format("Error in WWW object: {0}", m_www.error)); } m_www.Dispose(); m_www = null; m_isDone = true; } } catch (System.Exception ex) { Debug.LogError(string.Format("Update exception={0}", ex)); } }
public void OnResponseHandler(HttpResponseArgs Model) { responseEvent.Response(Model); }
public void Response(HttpResponseArgs data) { onWebContentReturned(data); }