added file logging to services.

This commit is contained in:
kay.one 2012-02-05 08:53:08 -08:00
parent ad9a7fa6e4
commit 1d1c62d376
12 changed files with 100 additions and 28 deletions

View file

@ -1,7 +1,9 @@
using System.IO;
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using NLog;
using Newtonsoft.Json;
using Ninject;
using NzbDrone.Common.Contract;
@ -11,6 +13,9 @@ namespace NzbDrone.Common
public class RestProvider
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly EnviromentProvider _enviromentProvider;
@ -25,7 +30,7 @@ namespace NzbDrone.Common
}
private const int TIMEOUT = 10000;
private const int TIMEOUT = 15000;
private const string METHOD = "POST";
public virtual void PostData(string url, ReportBase reportBase)
@ -40,28 +45,36 @@ namespace NzbDrone.Common
private static void PostData(string url, object message)
{
var json = JsonConvert.SerializeObject(message);
try
{
var json = JsonConvert.SerializeObject(message);
var request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = TIMEOUT;
var request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = TIMEOUT;
request.Proxy = WebRequest.DefaultWebProxy;
request.Proxy = WebRequest.DefaultWebProxy;
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
request.Method = METHOD;
request.ContentType = "application/json";
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version10;
request.Method = METHOD;
request.ContentType = "application/json";
byte[] postBytes = Encoding.UTF8.GetBytes(json);
request.ContentLength = postBytes.Length;
byte[] postBytes = Encoding.UTF8.GetBytes(json);
request.ContentLength = postBytes.Length;
var requestStream = request.GetRequestStream();
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();
var requestStream = request.GetRequestStream();
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
var streamreader = new StreamReader(response.GetResponseStream());
streamreader.Close();
var response = (HttpWebResponse)request.GetResponse();
var streamreader = new StreamReader(response.GetResponseStream());
streamreader.Close();
}
catch (Exception e)
{
e.Data.Add("URL", url);
throw;
}
}
}
}