aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-30 13:00:33 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-30 13:00:33 -0400
commit75a457debc009e2be26ff503a2d4b657225ab8c9 (patch)
treea3a51ba57fa9f2ed5669e97a4dfcb0ef74092ac2
parent8ea02ee02068f7e7361e143301b51ca57e45615a (diff)
update components
-rw-r--r--MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs12
-rw-r--r--MediaBrowser.Common/MediaBrowser.Common.csproj1
-rw-r--r--MediaBrowser.Common/Security/PaymentRequiredException.cs8
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs9
4 files changed, 27 insertions, 3 deletions
diff --git a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
index c17a637fe..1176407ce 100644
--- a/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
+++ b/MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs
@@ -8,8 +8,10 @@ using MediaBrowser.Model.Serialization;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Net;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Model.Net;
namespace MediaBrowser.Common.Implementations.Security
{
@@ -227,6 +229,16 @@ namespace MediaBrowser.Common.Implementations.Security
SaveAppStoreInfo(parameters);
throw;
}
+ catch (HttpException e)
+ {
+ _logger.ErrorException("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT");
+
+ if (e.StatusCode.HasValue && e.StatusCode.Value == HttpStatusCode.PaymentRequired)
+ {
+ throw new PaymentRequiredException();
+ }
+ throw new ApplicationException("Error registering store sale");
+ }
catch (Exception e)
{
_logger.ErrorException("Error registering appstore purchase {0}", e, parameters ?? "NO PARMS SENT");
diff --git a/MediaBrowser.Common/MediaBrowser.Common.csproj b/MediaBrowser.Common/MediaBrowser.Common.csproj
index b2f62dd21..ccdb319fe 100644
--- a/MediaBrowser.Common/MediaBrowser.Common.csproj
+++ b/MediaBrowser.Common/MediaBrowser.Common.csproj
@@ -89,6 +89,7 @@
<Compile Include="ScheduledTasks\WeeklyTrigger.cs" />
<Compile Include="Security\IRequiresRegistration.cs" />
<Compile Include="Security\ISecurityManager.cs" />
+ <Compile Include="Security\PaymentRequiredException.cs" />
<Compile Include="Updates\IInstallationManager.cs" />
<Compile Include="Updates\InstallationEventArgs.cs" />
<Compile Include="Updates\InstallationFailedEventArgs.cs" />
diff --git a/MediaBrowser.Common/Security/PaymentRequiredException.cs b/MediaBrowser.Common/Security/PaymentRequiredException.cs
new file mode 100644
index 000000000..27b3e6961
--- /dev/null
+++ b/MediaBrowser.Common/Security/PaymentRequiredException.cs
@@ -0,0 +1,8 @@
+using System;
+
+namespace MediaBrowser.Common.Security
+{
+ public class PaymentRequiredException : Exception
+ {
+ }
+}
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
index e8bb40ba1..1ac47016d 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -19,6 +19,7 @@ using System.Linq;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
+using MediaBrowser.Common.Security;
namespace MediaBrowser.Server.Implementations.HttpServer
{
@@ -65,7 +66,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
}
public HttpListenerHost(IApplicationHost applicationHost,
- ILogManager logManager,
+ ILogManager logManager,
IServerConfigurationManager config,
string serviceName,
string defaultRedirectPath, params Assembly[] assembliesWithServices)
@@ -80,7 +81,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
}
public string GlobalResponse { get; set; }
-
+
public override void Configure(Container container)
{
HostConfig.Instance.DefaultRedirectPath = DefaultRedirectPath;
@@ -92,7 +93,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{typeof (FileNotFoundException), 404},
{typeof (DirectoryNotFoundException), 404},
{typeof (SecurityException), 401},
- {typeof (UnauthorizedAccessException), 500}
+ {typeof (PaymentRequiredException), 402},
+ {typeof (UnauthorizedAccessException), 500},
+ {typeof (ApplicationException), 500}
};
HostConfig.Instance.DebugMode = true;