@ -335,7 +335,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
/// <param name="httpReq">The HTTP req.</param>
/// <param name="url">The URL.</param>
/// <returns>Task.</returns>
protected Task RequestHandler ( IHttpRequest httpReq , Uri url )
protected async Task RequestHandler ( IHttpRequest httpReq , Uri url )
{
var date = DateTime . Now ;
@ -345,7 +345,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{
httpRes . StatusCode = 503 ;
httpRes . Close ( ) ;
return Task . FromResult ( true ) ;
return ;
}
var operationName = httpReq . OperationName ;
@ -365,13 +365,13 @@ namespace MediaBrowser.Server.Implementations.HttpServer
string . Equals ( localPath , "/mediabrowser/" , StringComparison . OrdinalIgnoreCase ) )
{
httpRes . RedirectToUrl ( DefaultRedirectPath ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( string . Equals ( localPath , "/emby" , StringComparison . OrdinalIgnoreCase ) | |
string . Equals ( localPath , "/mediabrowser" , StringComparison . OrdinalIgnoreCase ) )
{
httpRes . RedirectToUrl ( "emby/" + DefaultRedirectPath ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( string . Equals ( localPath , "/mediabrowser/" , StringComparison . OrdinalIgnoreCase ) | |
@ -389,35 +389,35 @@ namespace MediaBrowser.Server.Implementations.HttpServer
httpRes . Write ( "<!doctype html><html><head><title>Emby</title></head><body>Please update your Emby bookmark to <a href=\"" + newUrl + "\">" + newUrl + "</a></body></html>" ) ;
httpRes . Close ( ) ;
return Task . FromResult ( true ) ;
return ;
}
}
if ( string . Equals ( localPath , "/web" , StringComparison . OrdinalIgnoreCase ) )
{
httpRes . RedirectToUrl ( DefaultRedirectPath ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( string . Equals ( localPath , "/web/" , StringComparison . OrdinalIgnoreCase ) )
{
httpRes . RedirectToUrl ( "../" + DefaultRedirectPath ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( string . Equals ( localPath , "/" , StringComparison . OrdinalIgnoreCase ) )
{
httpRes . RedirectToUrl ( DefaultRedirectPath ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( string . IsNullOrEmpty ( localPath ) )
{
httpRes . RedirectToUrl ( "/" + DefaultRedirectPath ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( string . Equals ( localPath , "/emby/pin" , StringComparison . OrdinalIgnoreCase ) )
{
httpRes . RedirectToUrl ( "web/pin.html" ) ;
return Task . FromResult ( true ) ;
return ;
}
if ( ! string . IsNullOrWhiteSpace ( GlobalResponse ) )
@ -427,7 +427,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer
httpRes . Write ( GlobalResponse ) ;
httpRes . Close ( ) ;
return Task . FromResult ( true ) ;
return ;
}
var handler = HttpHandlerFactory . GetHandler ( httpReq ) ;
@ -443,13 +443,13 @@ namespace MediaBrowser.Server.Implementations.HttpServer
httpReq . OperationName = operationName = restHandler . RestPath . RequestType . GetOperationName ( ) ;
}
var task = serviceStackHandler . ProcessRequestAsync ( httpReq , httpRes , operationName ) ;
task . ContinueWith ( x = > httpRes . Close ( ) , TaskContinuationOptions . OnlyOnRanToCompletion | TaskContinuationOptions . AttachedToParent ) ;
//Matches Exceptions handled in HttpListenerBase.InitTask()
task . ContinueWith ( x = >
try
{
await serviceStackHandler . ProcessRequestAsync ( httpReq , httpRes , operationName ) . ConfigureAwait ( false ) ;
}
finally
{
httpRes . Close ( ) ;
var statusCode = httpRes . StatusCode ;
var duration = DateTime . Now - date ;
@ -458,13 +458,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer
{
LoggerUtils . LogResponse ( _logger , statusCode , urlToLog , remoteIp , duration ) ;
}
} , TaskContinuationOptions . None ) ;
return task ;
}
}
return new NotImplementedException ( "Cannot execute handler: " + handler + " at PathInfo: " + httpReq . PathInfo )
. AsTaskException ( ) ;
throw new NotImplementedException ( "Cannot execute handler: " + handler + " at PathInfo: " + httpReq . PathInfo ) ;
}
/// <summary>