Exemple #1
0
 public static HttpWebRequest AddOAuth(this HttpWebRequest req, string ConsumerKey, string ConsumerSecret, string AccessToken, string AccessTokenSecret)
 {
     return req.AddOAuth("", ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret);
 }
Exemple #2
0
        public static string GetResponseString(this HttpWebRequest req, string pData, string ConsumerKey, string ConsumerSecret, string AccessToken, string AccessTokenSecret)
        {
            if (req != null)
            {
                //req.Method = "GET";//Get is the default anyway.
                if (!string.IsNullOrEmpty(pData))
                {
                    if (req.Method == "GET")//don't change the method if it has been set manually.
                        req.Method = "POST";

                    using (System.IO.Stream reqStream = req.GetRequestStream())
                    {
                        ASCIIEncoding encoding = new ASCIIEncoding();
                        byte[] data = encoding.GetBytes(pData);
                        reqStream.Write(data, 0, data.Length);
                    }
                }

                if (!string.IsNullOrEmpty(ConsumerKey) && !string.IsNullOrEmpty(ConsumerSecret))
                {
                    req.AddOAuth(pData, ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret);
                }

                try
                {
                    using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
                    {
                        using (System.IO.Stream st = resp.GetResponseStream())
                        {
                            using (System.IO.StreamReader sr = new System.IO.StreamReader(st))
                            {
                                return sr.ReadToEnd();
                            }
                        }
                    }
                }
                catch (WebException ex)
                {
                    if (ex.Status == WebExceptionStatus.ProtocolError)
                    {
                        HttpWebResponse r = ex.Response as HttpWebResponse;
                        if (r != null)
                        {
                            throw new ProtocolException((ApiStatusCode)r.StatusCode, ex.Message);
                        }
                    }
                    throw;
                }
            }
            return "";
        }