|
@@ -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
|
}
|