示例#1
0
        /// <summary>
        /// Helper function for getting a response wants the parameters as a pre formed URL string
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        protected BitlyResponse GetResponse(string command, string parameters)
        {
            var targetUri = new StringBuilder(BaseUrl + command + "?");

            targetUri.Append("access_token=" + AccessToken);

            if (!string.IsNullOrWhiteSpace(parameters))
            {
                targetUri.Append("&");
                targetUri.Append(parameters);
            }

            var webRequest = (HttpWebRequest)WebRequest.Create(targetUri.ToString());

            webRequest.KeepAlive = false;
            webRequest.Method    = "GET";
            var webResponse = (HttpWebResponse)webRequest.GetResponse();

            if (webResponse.StatusCode == HttpStatusCode.OK)
            {
                var responseStream = webResponse.GetResponseStream();
                if (responseStream != null)
                {
                    using (var sr = new StreamReader(responseStream))
                    {
                        var           response = sr.ReadToEnd();
                        BitlyResponse ret;
                        try
                        {
                            ret = JsonConvert.DeserializeObject <BitlyResponse>(response);
                        }
                        catch
                        {
                            var o = JObject.Parse(response);
                            ret = new BitlyResponse
                            {
                                status_code = o["status_code"].Value <int>(),
                                status_txt  = o["status_txt"].Value <string>()
                            };
                        }
                        return(ret);
                    }
                }
            }
            return(new BitlyResponse());
        }
示例#2
0
        /// <summary>
        /// Helper function for getting a response wants the parameters as a pre formed URL string
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        protected BitlyResponse GetResponse(string command, string parameters)
        {
            var targetUri = new StringBuilder(BaseUrl + command + "?");
            targetUri.Append("access_token=" + AccessToken);

            if (!string.IsNullOrWhiteSpace(parameters))
            {
                targetUri.Append("&");
                targetUri.Append(parameters);
            }

            var webRequest = (HttpWebRequest)WebRequest.Create(targetUri.ToString());
            webRequest.KeepAlive = false;
            webRequest.Method = "GET";
            var webResponse = (HttpWebResponse)webRequest.GetResponse();
            if (webResponse.StatusCode == HttpStatusCode.OK)
            {
                var responseStream = webResponse.GetResponseStream();
                if (responseStream != null)
                {
                    using (var sr = new StreamReader(responseStream))
                    {
                        var response = sr.ReadToEnd();
                        BitlyResponse ret;
                        try
                        {
                            ret = JsonConvert.DeserializeObject<BitlyResponse>(response);
                        }
                        catch
                        {
                            var o = JObject.Parse(response);
                            ret = new BitlyResponse
                                {
                                    status_code = o["status_code"].Value<int>(),
                                    status_txt = o["status_txt"].Value<string>()
                                };
                        }
                        return ret;
                    }
                }
            }
            return new BitlyResponse();
        }