Qiniu.Http.HttpManager.postFormRaw C# (CSharp) Method

postFormRaw() public method

post data from raw
public postFormRaw ( string pUrl, string>.Dictionary pHeaders, RecvDataHandler pRecvDataHandler ) : void
pUrl string
pHeaders string>.Dictionary
pRecvDataHandler RecvDataHandler
return void
        public void postFormRaw(string pUrl, Dictionary<string, string> pHeaders, RecvDataHandler pRecvDataHandler)
        {
            HttpWebRequest vWebReq = null;
            HttpWebResponse vWebResp = null;
            try
            {
                vWebReq = (HttpWebRequest)WebRequest.Create(pUrl);
            }
            catch (Exception ex)
            {
                if (pRecvDataHandler != null)
                {
                    pRecvDataHandler(ResponseInfo.invalidRequest(ex.Message), null);
                }
                return;
            }

            try
            {
                vWebReq.UserAgent = this.getUserAgent();
                vWebReq.AllowAutoRedirect = false;
                vWebReq.Method = "POST";
                vWebReq.ContentType = FORM_MIME_URLENCODED;
                if (pHeaders != null)
                {
                    foreach (KeyValuePair<string, string> kvp in pHeaders)
                    {
                        if (!kvp.Key.Equals("Content-Type"))
                        {
                            vWebReq.Headers.Add(kvp.Key, kvp.Value);
                        }
                    }
                }

                //fire request
                vWebResp = (HttpWebResponse)vWebReq.GetResponse();
                handleWebResponse(vWebResp, pRecvDataHandler);
            }
            catch (Exception exp)
            {
                if (pRecvDataHandler != null)
                {
                    pRecvDataHandler(ResponseInfo.networkError(exp.Message), null);
                }
            }
            finally
            {
                if (vWebResp != null)
                {
                    vWebResp.Close();
                    vWebResp = null;
                }

                if (vWebReq != null)
                {
                    vWebReq.Abort();
                    vWebReq = null;
                }
            }
        }