From 64097b019a2f7196da6d3c4bd7cd12c58d352e2c Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Fri, 8 May 2015 09:46:19 +0200 Subject: [PATCH] add timeout to API; add api exception --- src/OnePeek.Api/ApiHttpClient.cs | 1 + src/OnePeek.Api/Configuration.cs | 5 +++++ src/OnePeek.Api/OnePeekApiException.cs | 11 +++++++++++ 3 files changed, 17 insertions(+) create mode 100644 src/OnePeek.Api/OnePeekApiException.cs diff --git a/src/OnePeek.Api/ApiHttpClient.cs b/src/OnePeek.Api/ApiHttpClient.cs index 097b15e..7b43564 100644 --- a/src/OnePeek.Api/ApiHttpClient.cs +++ b/src/OnePeek.Api/ApiHttpClient.cs @@ -31,6 +31,7 @@ namespace OnePeek.Api AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip }); httpClient.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2327.5 Safari/537.36 OPR/30.0.1812.0 (Edition developer)"); + httpClient.Timeout = TimeSpan.FromSeconds(Configuration.TimeoutInSeconds); } diff --git a/src/OnePeek.Api/Configuration.cs b/src/OnePeek.Api/Configuration.cs index 36b12c8..edbdadd 100644 --- a/src/OnePeek.Api/Configuration.cs +++ b/src/OnePeek.Api/Configuration.cs @@ -10,5 +10,10 @@ /// This changes it to a 1-5 scale, which is more suited for displaying it as stars. /// public static bool UseFiveStarSystem = false; + + /// + /// Timeout for API requests in seconds. + /// + public static double TimeoutInSeconds = 60; } } diff --git a/src/OnePeek.Api/OnePeekApiException.cs b/src/OnePeek.Api/OnePeekApiException.cs new file mode 100644 index 0000000..b68efdb --- /dev/null +++ b/src/OnePeek.Api/OnePeekApiException.cs @@ -0,0 +1,11 @@ +using System; + +namespace OnePeek.Api +{ + public class OnePeekApiException : Exception + { + public OnePeekApiException() : base() { } + public OnePeekApiException(string message) : base(message) { } + public OnePeekApiException(string message, Exception innerException) : base(message, innerException) { } + } +}