Fixed: Corrupt image files when downloading from redirecting Url

(cherry picked from commit e28b2e83284f689d3620d8d394ef35fdfd55646f)
Closes #108
pull/1109/head
Taloth Saldono 5 years ago committed by Qstick
parent db885a5111
commit 79dfd8f14d

@ -322,6 +322,31 @@ namespace NzbDrone.Common.Test.Http
ExceptionVerification.ExpectedWarns(1);
}
[Test]
public void should_not_write_redirect_content_to_stream()
{
var file = GetTempFilePath();
using (var fileStream = new FileStream(file, FileMode.Create))
{
var request = new HttpRequest($"http://{_httpBinHost}/redirect/1");
request.AllowAutoRedirect = false;
request.ResponseStream = fileStream;
var response = Subject.Get(request);
response.StatusCode.Should().Be(HttpStatusCode.Redirect);
}
ExceptionVerification.ExpectedErrors(1);
File.Exists(file).Should().BeTrue();
var fileInfo = new FileInfo(file);
fileInfo.Length.Should().Be(0);
}
[Test]
public void should_send_cookie()
{

@ -127,9 +127,10 @@ namespace NzbDrone.Common.Http.Dispatchers
{
try
{
if (request.ResponseStream != null)
if (request.ResponseStream != null && httpWebResponse.StatusCode == HttpStatusCode.OK)
{
// A target ResponseStream was specified, write to that instead.
// But only on the OK status code, since we don't want to write failures and redirects.
responseStream.CopyTo(request.ResponseStream);
}
else

Loading…
Cancel
Save