little bit of exception handling · c341661bb0 - SVN.BY: Go Git Service
Browse Source

little bit of exception handling

Related Work Items: #25
Tiernan OToole 8 years ago
parent
commit
c341661bb0
1 changed files with 36 additions and 27 deletions
  1. 36 27
      B2Uploader/Program.cs

+ 36 - 27
B2Uploader/Program.cs

@@ -167,39 +167,48 @@ namespace B2Uploader
167 167
 
168 168
         static string MakeWebRequest<T>(string url, List<Tuple<string,string>> headers, T item, string contentType = "application/json; charset=utf-8")
169 169
         {
170
-            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
171
-            byte[] data;
172
-
173
-            if (typeof(T) == typeof(byte[]))
170
+            try
174 171
             {
175
-                data = (byte[])(object) item;
176
-            }
177
-            else {
178
-                string body = JsonConvert.SerializeObject(item);
172
+                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
173
+                byte[] data;
179 174
 
180
-                data = Encoding.UTF8.GetBytes(body);
181
-            }
182
-            
183
-            req.Method = "POST";
175
+                if (typeof(T) == typeof(byte[]))
176
+                {
177
+                    data = (byte[])(object)item;
178
+                }
179
+                else
180
+                {
181
+                    string body = JsonConvert.SerializeObject(item);
184 182
 
185
-            foreach(var head in headers)
186
-            {
187
-                req.Headers.Add(head.Item1, head.Item2);
188
-            }
183
+                    data = Encoding.UTF8.GetBytes(body);
184
+                }
189 185
 
190
-            req.ContentType = contentType;
191
-            req.ContentLength = data.Length;
192
-            using (var stream = req.GetRequestStream())
193
-            {
194
-                stream.Write(data, 0, data.Length);
195
-                stream.Close();
196
-            }
197
-            WebResponse response = (HttpWebResponse)req.GetResponse();
198
-            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
199
-            response.Close();
186
+                req.Method = "POST";
200 187
 
201
-            return responseString;
188
+                foreach (var head in headers)
189
+                {
190
+                    req.Headers.Add(head.Item1, head.Item2);
191
+                }
202 192
 
193
+                req.ContentType = contentType;
194
+                req.ContentLength = data.Length;
195
+                using (var stream = req.GetRequestStream())
196
+                {
197
+                    stream.Write(data, 0, data.Length);
198
+                    stream.Close();
199
+                }
200
+                WebResponse response = (HttpWebResponse)req.GetResponse();
201
+                var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
202
+                response.Close();
203
+
204
+                return responseString;
205
+            }
206
+            catch (Exception ex)
207
+            {
208
+                Console.WriteLine("Error talking to server: {0}", ex.Message);
209
+                Console.WriteLine("URL: {0}", url);
210
+                throw;
211
+            }
203 212
 
204 213
 
205 214
         }