diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-12-27 03:16:41 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-12-27 03:16:41 -0500 |
| commit | 6f2cb0b0d9353240441d4aa5dd2d46341ab9b4cb (patch) | |
| tree | 4b111f8b921109ddef9bd56c5b0297b510ac5cbd /Emby.Server.Implementations/HttpServer/HttpListenerHost.cs | |
| parent | b8e285035c9b68128eb283c81877fde2984ed4b6 (diff) | |
| parent | d7b0dcd91b4301c7bd68bce14964f3dd4082b310 (diff) | |
Merge pull request #2367 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/HttpServer/HttpListenerHost.cs')
| -rw-r--r-- | Emby.Server.Implementations/HttpServer/HttpListenerHost.cs | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs index 83885ee2e..4e7dc8836 100644 --- a/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/Emby.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -91,16 +91,12 @@ namespace Emby.Server.Implementations.HttpServer readonly Dictionary<Type, int> _mapExceptionToStatusCode = new Dictionary<Type, int> { - {typeof (InvalidOperationException), 500}, - {typeof (NotImplementedException), 500}, {typeof (ResourceNotFoundException), 404}, {typeof (FileNotFoundException), 404}, //{typeof (DirectoryNotFoundException), 404}, {typeof (SecurityException), 401}, {typeof (PaymentRequiredException), 402}, - {typeof (UnauthorizedAccessException), 500}, - {typeof (PlatformNotSupportedException), 500}, - {typeof (NotSupportedException), 500} + {typeof (ArgumentException), 400} }; public override void Configure() @@ -228,6 +224,22 @@ namespace Emby.Server.Implementations.HttpServer } } + private int GetStatusCode(Exception ex) + { + if (ex is ArgumentException) + { + return 400; + } + + int statusCode; + if (!_mapExceptionToStatusCode.TryGetValue(ex.GetType(), out statusCode)) + { + statusCode = 500; + } + + return statusCode; + } + private void ErrorHandler(Exception ex, IRequest httpReq, bool logException = true) { try @@ -244,11 +256,7 @@ namespace Emby.Server.Implementations.HttpServer return; } - int statusCode; - if (!_mapExceptionToStatusCode.TryGetValue(ex.GetType(), out statusCode)) - { - statusCode = 500; - } + var statusCode = GetStatusCode(ex); httpRes.StatusCode = statusCode; httpRes.ContentType = "text/html"; |
