diff Agendas/trunk/src/Agendas.Google/GUrlShortenerAdapter.cs @ 190:e6abe8e1a794

Mejoras menores en shorten url
author nelopauselli
date Tue, 09 Aug 2011 09:45:07 -0300
parents fe47f11f5f20
children 806fd94727ce
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Google/GUrlShortenerAdapter.cs	Tue Aug 09 09:38:28 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Google/GUrlShortenerAdapter.cs	Tue Aug 09 09:45:07 2011 -0300
@@ -18,30 +18,39 @@
 			WebRequest request = WebRequest.Create(_config.UrlAPI);
 			request.Method = WebRequestMethods.Http.Post;
 			request.ContentType = "application/json";
-			
-			using(var writer = new StreamWriter(request.GetRequestStream()))
+
+			using (var writer = new StreamWriter(request.GetRequestStream()))
 			{
 				var json = string.Format("{{\"longUrl\": \"{0}\"}}", url);
 				writer.Write(json);
 			}
 
-			var response = request.GetResponse();
+			var response = request.GetResponse() as HttpWebResponse;
 
-			using(var reader = new StreamReader(response.GetResponseStream()))
+			if (response != null && response.StatusCode == HttpStatusCode.OK)
 			{
-				const string prefix = "\"id\": \"";
+				var stream = response.GetResponseStream();
 
-				var json = reader.ReadToEnd();
+				if (stream != null)
+				{
+					using (var reader = new StreamReader(stream))
+					{
+						const string prefix = "\"id\": \"";
 
-				var start = json.IndexOf(prefix) + prefix.Length;
-				if (start>prefix.Length)
-				{
-					var length = json.IndexOf("\",", start) - start;
+						var json = reader.ReadToEnd();
 
-					if (length>0)
-						return json.Substring(start, length);
+						var start = json.IndexOf(prefix) + prefix.Length;
+						if (start > prefix.Length)
+						{
+							var length = json.IndexOf("\",", start) - start;
+
+							if (length > 0)
+								return json.Substring(start, length);
+						}
+					}
 				}
 			}
+
 			return string.Empty;
 		}
 	}