Răsfoiți Sursa

update components

Luke Pulverenti 9 ani în urmă
părinte
comite
75a457debc

+ 12 - 0
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");

+ 1 - 0
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" />

+ 8 - 0
MediaBrowser.Common/Security/PaymentRequiredException.cs

@@ -0,0 +1,8 @@
+using System;
+
+namespace MediaBrowser.Common.Security
+{
+    public class PaymentRequiredException : Exception
+    {
+    }
+}

+ 6 - 3
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;