Did a little housekeeping and added some TODOs.
Did a little housekeeping and added some TODOs.

--- a/KerbalStuffWrapper/KerbalStuff.cs
+++ b/KerbalStuffWrapper/KerbalStuff.cs
@@ -6,6 +6,8 @@
 using System.Net;
 using System.Text;
 
+// TODO: Robustify error-handling throughout.
+
 namespace KerbalStuff
 {
 	public static class KerbalStuff
@@ -16,6 +18,8 @@
 
 		public const string UserAgent = "KerbalStuffWrapper by toadicus";
 
+		// TODO: Find a more useful return value for Login.
+		// TODO: Convert Login to use ExecutePostRequest.
 		public static void Login(string username, string password)
 		{
 			Dictionary<string, object> postParams = new Dictionary<string, object>();
@@ -31,6 +35,7 @@
 			cookies = response.Cookies;
 		}
 
+		// TODO: Find a more useful return value for Create.
 		public static string Create(Mod mod, string fileName, string filePath)
 		{
 			if (mod == null)
@@ -83,6 +88,7 @@
 			return string.Concat(RootUri, (currentJson as Dictionary<string, object>)["url"]);
 		}
 
+		// TODO: Find a more useful return value for Update.
 		public static string Update(long modId, ModVersion version, bool notifyFollowers, string fileName, string filePath)
 		{
 			if (version == null)
@@ -223,7 +229,7 @@
 			ExecuteGetRequest(uri, action.RequestMethod, assignCookies);
 		}
 
-		private static void ExecuteGetRequest(string uri, string method, bool assignCookies, byte[] formData = null)
+		private static void ExecuteGetRequest(string uri, string method, byte[] formData = null)
 		{
 			currentJson = null;
 			currentRequest = null;
@@ -246,18 +252,14 @@
 			currentRequest = (HttpWebRequest)WebRequest.Create(uri);
 			currentRequest.Method = method;
 
-			Console.WriteLine("Request cookies: " + currentRequest.CookieContainer);
-
-			currentResponse = (HttpWebResponse)currentRequest.GetResponse();
-
-			Console.WriteLine("Response cookies: " + string.Join(
-					",",
-					currentResponse.Cookies.Cast<Cookie>().Select(c => c.ToString()).ToArray()
-				));
-
-			if (currentResponse.StatusCode == HttpStatusCode.NotFound)
-			{
-				throw new WebException(string.Format("KerbalStuffWrapper.ExecuteRequest: URI not found: {0}", uri));
+			try
+			{
+				currentResponse = (HttpWebResponse)currentRequest.GetResponse();
+			}
+			catch (WebException ex)
+			{
+				currentResponse = ex.Response;
+				return false;
 			}
 
 			if (currentResponse.ContentType == "application/json")
@@ -268,9 +270,11 @@
 
 				currentJson = Json.Deserialize(json);
 			}
-		}
-
-		private static void ExecutePostRequest(string uri, Dictionary<string, object> postParams, CookieCollection cookieCollection = null)
+
+			return true;
+		}
+
+		private static bool ExecutePostRequest(string uri, Dictionary<string, object> postParams, CookieCollection cookieCollection = null)
 		{
 			currentJson = null;
 			currentRequest = null;
@@ -297,8 +301,11 @@
 			}
 			catch (WebException ex)
 			{
-				Console.WriteLine(string.Format("KerbalStuffWrapper.Create: Caught WebException.  Response: {0}", (new StreamReader(ex.Response.GetResponseStream())).ReadToEnd()));
-			}
+				currentResponse = ex.Response;
+				return false;
+			}
+
+			return true;
 		}
 
 		private static FormUpload.FileParameter ReadZipballParameter(string fileName, string filePath)

--- a/KerbalStuffWrapper/Program.cs
+++ b/KerbalStuffWrapper/Program.cs
@@ -29,7 +29,7 @@
 			foreach (User user in KerbalStuff.UserSearch("toad"))
 			{
 				Console.WriteLine(user);
-			}*/
+			}
 
 			KerbalStuff.Login("toadicus", "redacted");
 
@@ -41,13 +41,14 @@
 				"MIT"
 			);
 
-			/*KerbalStuff.Create(
+			KerbalStuff.Create(
 				testMod,
 				"mod.zip",
 				"mod.zip"
-			);*/
+			);
 
 			KerbalStuff.Update(210, new ModVersion("0.3", "0.24.2", "changes changes changes!"), false, "mod.zip", "mod.zip");
+			*/
 
 			return 0;
 		}