Example #1
0
        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
        }
Example #2
0
        protected virtual void onWebContentReturned(HttpResponseArgs e)
        {
            EventHandler handler = WebConentReturned;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Example #3
0
        public void SetResponse(int statusCode, string httpBody, ElementConstant el)
        {
            HttpResponseArgs Model = new HttpResponseArgs();

            Model.ResponseCode = statusCode;
            Model.httpBody     = httpBody;
            Model.ELConstant   = el;

            OnResponseHandler(Model);
        }
Example #4
0
        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));
            }
        }
Example #7
0
 public void OnResponseHandler(HttpResponseArgs Model)
 {
     responseEvent.Response(Model);
 }
Example #8
0
 public void Response(HttpResponseArgs data)
 {
     onWebContentReturned(data);
 }