Ver Fonte

Remove duplicate code

Bond_009 há 6 anos atrás
pai
commit
b117b364f2

+ 45 - 67
Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs

@@ -310,38 +310,28 @@ namespace Emby.Server.Implementations.HttpClientManager
                 || !string.IsNullOrEmpty(options.RequestContent)
                 || httpMethod == HttpMethod.Post)
             {
-                try
-                {
-                    if (options.RequestContentBytes != null)
-                    {
-                        httpWebRequest.Content = new ByteArrayContent(options.RequestContentBytes);
-                    }
-                    else if (options.RequestContent != null)
-                    {
-                        httpWebRequest.Content = new StringContent(options.RequestContent);
-                    }
-                    else
-                    {
-                        httpWebRequest.Content = new ByteArrayContent(Array.Empty<byte>());
-                    }
-                    /*
-                    var contentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
-
-                    if (options.AppendCharsetToMimeType)
-                    {
-                        contentType = contentType.TrimEnd(';') + "; charset=\"utf-8\"";
-                    }
 
-                    httpWebRequest.Headers.Add(HeaderNames.ContentType, contentType);*/
-                    using (var response = await client.SendAsync(httpWebRequest).ConfigureAwait(false))
-                    {
-                        return await HandleResponseAsync(response, options).ConfigureAwait(false);
-                    }
+                if (options.RequestContentBytes != null)
+                {
+                    httpWebRequest.Content = new ByteArrayContent(options.RequestContentBytes);
+                }
+                else if (options.RequestContent != null)
+                {
+                    httpWebRequest.Content = new StringContent(options.RequestContent);
                 }
-                catch (Exception ex)
+                else
+                {
+                    httpWebRequest.Content = new ByteArrayContent(Array.Empty<byte>());
+                }
+                /*
+                var contentType = options.RequestContentType ?? "application/x-www-form-urlencoded";
+
+                if (options.AppendCharsetToMimeType)
                 {
-                    throw new HttpException(ex.Message) { IsTimedOut = true };
+                    contentType = contentType.TrimEnd(';') + "; charset=\"utf-8\"";
                 }
+
+                httpWebRequest.Headers.Add(HeaderNames.ContentType, contentType);*/
             }
 
             if (options.LogRequest)
@@ -349,54 +339,42 @@ namespace Emby.Server.Implementations.HttpClientManager
                 _logger.LogDebug("HttpClientManager {0}: {1}", httpMethod.ToString(), options.Url);
             }
 
-            try
-            {
-                options.CancellationToken.ThrowIfCancellationRequested();
+            options.CancellationToken.ThrowIfCancellationRequested();
 
-                /*if (!options.BufferContent)
-                {
-                    var response = await client.HttpClient.SendAsync(httpWebRequest).ConfigureAwait(false);
+            /*if (!options.BufferContent)
+            {
+                var response = await client.HttpClient.SendAsync(httpWebRequest).ConfigureAwait(false);
 
-                    await EnsureSuccessStatusCode(client, response, options).ConfigureAwait(false);
+                await EnsureSuccessStatusCode(client, response, options).ConfigureAwait(false);
 
-                    options.CancellationToken.ThrowIfCancellationRequested();
+                options.CancellationToken.ThrowIfCancellationRequested();
 
-                    return GetResponseInfo(response, await response.Content.ReadAsStreamAsync().ConfigureAwait(false), response.Content.Headers.ContentLength, response);
-                }*/
+                return GetResponseInfo(response, await response.Content.ReadAsStreamAsync().ConfigureAwait(false), response.Content.Headers.ContentLength, response);
+            }*/
 
-                using (var response = await client.SendAsync(httpWebRequest).ConfigureAwait(false))
-                {
-                    return await HandleResponseAsync(response, options).ConfigureAwait(false);
-                }
-            }
-            catch (OperationCanceledException ex)
+            using (var response = await client.SendAsync(httpWebRequest, options.CancellationToken).ConfigureAwait(false))
             {
-                throw GetCancellationException(options, options.CancellationToken, ex);
-            }
-        }
-
-        private async Task<HttpResponseInfo> HandleResponseAsync(HttpResponseMessage response, HttpRequestOptions options)
-        {
-            await EnsureSuccessStatusCode(response, options).ConfigureAwait(false);
-
-            options.CancellationToken.ThrowIfCancellationRequested();
+                await EnsureSuccessStatusCode(response, options).ConfigureAwait(false);
 
-            using (var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
-            {
-                var memoryStream = new MemoryStream();
-                await stream.CopyToAsync(memoryStream, 81920, options.CancellationToken).ConfigureAwait(false);
-                memoryStream.Position = 0;
+                options.CancellationToken.ThrowIfCancellationRequested();
 
-                var responseInfo = new HttpResponseInfo(response.Headers)
+                using (var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
                 {
-                    Content = memoryStream,
-                    StatusCode = response.StatusCode,
-                    ContentType = response.Content.Headers.ContentType?.MediaType,
-                    ContentLength = memoryStream.Length,
-                    ResponseUrl = response.Content.Headers.ContentLocation?.ToString()
-                };
+                    var memoryStream = new MemoryStream();
+                    await stream.CopyToAsync(memoryStream, StreamDefaults.DefaultCopyToBufferSize, options.CancellationToken).ConfigureAwait(false);
+                    memoryStream.Position = 0;
 
-                return responseInfo;
+                    var responseInfo = new HttpResponseInfo(response.Headers)
+                    {
+                        Content = memoryStream,
+                        StatusCode = response.StatusCode,
+                        ContentType = response.Content.Headers.ContentType?.MediaType,
+                        ContentLength = memoryStream.Length,
+                        ResponseUrl = response.Content.Headers.ContentLocation?.ToString()
+                    };
+
+                    return responseInfo;
+                }
             }
         }
 
@@ -603,7 +581,7 @@ namespace Emby.Server.Implementations.HttpClientManager
             }
 
             var msg = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
-            _logger.LogError(msg);
+            _logger.LogError("HTTP request failed with message: {Message}", msg);
 
             throw new HttpException(response.ReasonPhrase)
             {