Browse Source

better progress display

Luke Pulverenti 12 years ago
parent
commit
f1dba04767
1 changed files with 38 additions and 49 deletions
  1. 38 49
      MediaBrowser.Server.Implementations/HttpServer/HttpServer.cs

+ 38 - 49
MediaBrowser.Server.Implementations/HttpServer/HttpServer.cs

@@ -284,56 +284,45 @@ namespace MediaBrowser.Server.Implementations.HttpServer
 
 
             RaiseReceiveWebRequest(context);
             RaiseReceiveWebRequest(context);
 
 
-            try
-            {
-                ProcessRequest(context);
-            }
-            catch (InvalidOperationException ex)
-            {
-                HandleException(context.Response, ex, 422);
-
-                throw;
-            }
-            catch (ResourceNotFoundException ex)
-            {
-                HandleException(context.Response, ex, 404);
-
-                throw;
-            }
-            catch (FileNotFoundException ex)
-            {
-                HandleException(context.Response, ex, 404);
-
-                throw;
-            }
-            catch (DirectoryNotFoundException ex)
-            {
-                HandleException(context.Response, ex, 404);
-
-                throw;
-            }
-            catch (UnauthorizedAccessException ex)
-            {
-                HandleException(context.Response, ex, 401);
-
-                throw;
-            }
-            catch (ArgumentException ex)
-            {
-                HandleException(context.Response, ex, 400);
-
-                throw;
-            }
-            catch (Exception ex)
+            await Task.Run(() =>
             {
             {
-                HandleException(context.Response, ex, 500);
-
-                throw;
-            }
-            finally
-            {
-                context.Response.Close();
-            }
+                try
+                {
+                    ProcessRequest(context);
+                }
+                catch (InvalidOperationException ex)
+                {
+                    HandleException(context.Response, ex, 422);
+                }
+                catch (ResourceNotFoundException ex)
+                {
+                    HandleException(context.Response, ex, 404);
+                }
+                catch (FileNotFoundException ex)
+                {
+                    HandleException(context.Response, ex, 404);
+                }
+                catch (DirectoryNotFoundException ex)
+                {
+                    HandleException(context.Response, ex, 404);
+                }
+                catch (UnauthorizedAccessException ex)
+                {
+                    HandleException(context.Response, ex, 401);
+                }
+                catch (ArgumentException ex)
+                {
+                    HandleException(context.Response, ex, 400);
+                }
+                catch (Exception ex)
+                {
+                    HandleException(context.Response, ex, 500);
+                }
+                finally
+                {
+                    context.Response.Close();
+                }
+            }).ConfigureAwait(false);
         }
         }
 
 
         /// <summary>
         /// <summary>