浏览代码

Use HttpCompletionOption.ResponseHeadersRead and resort to Content-Length header for non-buffered content

Claus Vium 6 年之前
父节点
当前提交
886c88576c
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs

+ 2 - 2
Emby.Server.Implementations/HttpClientManager/HttpClientManager.cs

@@ -284,7 +284,7 @@ namespace Emby.Server.Implementations.HttpClientManager
 
             if (!options.BufferContent)
             {
-                var response = await client.SendAsync(httpWebRequest, options.CancellationToken).ConfigureAwait(false);
+                var response = await client.SendAsync(httpWebRequest, HttpCompletionOption.ResponseHeadersRead, options.CancellationToken).ConfigureAwait(false);
 
                 await EnsureSuccessStatusCode(response, options).ConfigureAwait(false);
 
@@ -296,7 +296,7 @@ namespace Emby.Server.Implementations.HttpClientManager
                     Content = stream,
                     StatusCode = response.StatusCode,
                     ContentType = response.Content.Headers.ContentType?.MediaType,
-                    ContentLength = stream.Length,
+                    ContentLength = response.Content.Headers.ContentLength,
                     ResponseUrl = response.Content.Headers.ContentLocation?.ToString()
                 };
             }