@ -374,6 +374,13 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// <exception cref="HttpException"></exception>
/// <exception cref="MediaBrowser.Model.Net.HttpException"></exception>
public async Task < string > GetTempFile ( HttpRequestOptions options )
{
var response = await GetTempFileResponse ( options ) . ConfigureAwait ( false ) ;
return response . TempFilePath ;
}
public async Task < HttpResponseInfo > GetTempFileResponse ( HttpRequestOptions options )
{
ValidateParams ( options . Url , options . CancellationToken ) ;
@ -433,13 +440,20 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
options . Progress . Report ( 100 ) ;
options . CancellationToken . ThrowIfCancellationRequested ( ) ;
return new HttpResponseInfo
{
TempFilePath = tempFile ,
StatusCode = response . StatusCode ,
ContentType = response . Content . Headers . ContentType . MediaType
} ;
}
}
}
catch ( Exception ex )
{
HandleTempFileException ( ex , options , tempFile ) ;
throw Get TempFileException( ex , options , tempFile ) ;
}
finally
{
@ -448,8 +462,6 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
options . ResourcePool . Release ( ) ;
}
}
return tempFile ;
}
/// <summary>
@ -501,7 +513,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// <param name="tempFile">The temp file.</param>
/// <returns>Task.</returns>
/// <exception cref="HttpException"></exception>
private void Handle TempFileException( Exception ex , HttpRequestOptions options , string tempFile )
private Exception Get TempFileException( Exception ex , HttpRequestOptions options , string tempFile )
{
var operationCanceledException = ex as OperationCanceledException ;
@ -513,7 +525,7 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
File . Delete ( tempFile ) ;
}
throw GetCancellationException ( options . Url , options . CancellationToken , operationCanceledException ) ;
return GetCancellationException ( options . Url , options . CancellationToken , operationCanceledException ) ;
}
_logger . ErrorException ( "Error getting response from " + options . Url , ex ) ;
@ -528,10 +540,10 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
if ( httpRequestException ! = null )
{
throw new HttpException ( ex . Message , ex ) ;
return new HttpException ( ex . Message , ex ) ;
}
throw ex ;
return ex ;
}
/// <summary>