Skip to content

Commit 7fb757b

Browse files
committed
/vsicurl_streaming/: follow HTTP 303 See Other redirect that is used by cloudfront
1 parent eb8671a commit 7fb757b

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

port/cpl_vsil_curl_streaming.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,8 @@ static size_t VSICurlStreamingHandleWriteFuncForHeader(void *buffer,
531531
// If moved permanently/temporarily, go on.
532532
// Otherwise stop now.
533533
if (!(psStruct->nHTTPCode == 301 ||
534-
psStruct->nHTTPCode == 302))
534+
psStruct->nHTTPCode == 302 ||
535+
psStruct->nHTTPCode == 303))
535536
return 0;
536537
}
537538
else
@@ -892,7 +893,7 @@ size_t VSICurlStreamingHandle::ReceivedBytesHeader(GByte *buffer, size_t count,
892893

893894
// Reset buffer if we have followed link after a redirect.
894895
if (nSize >= 9 && InterpretRedirect() &&
895-
(nHTTPCode == 301 || nHTTPCode == 302) &&
896+
(nHTTPCode == 301 || nHTTPCode == 302 || nHTTPCode == 303) &&
896897
STARTS_WITH_CI(reinterpret_cast<char *>(buffer), "HTTP/"))
897898
{
898899
nHeaderSize = 0;
@@ -928,7 +929,7 @@ size_t VSICurlStreamingHandle::ReceivedBytesHeader(GByte *buffer, size_t count,
928929
// If moved permanently/temporarily, go on.
929930
if (eExists == EXIST_UNKNOWN &&
930931
!(InterpretRedirect() &&
931-
(nHTTPCode == 301 || nHTTPCode == 302)))
932+
(nHTTPCode == 301 || nHTTPCode == 302 || nHTTPCode == 303)))
932933
{
933934
eExists = nHTTPCode == 200 ? EXIST_YES : EXIST_NO;
934935
FileProp cachedFileProp;
@@ -938,7 +939,8 @@ size_t VSICurlStreamingHandle::ReceivedBytesHeader(GByte *buffer, size_t count,
938939
}
939940
}
940941

941-
if (!(InterpretRedirect() && (nHTTPCode == 301 || nHTTPCode == 302)) &&
942+
if (!(InterpretRedirect() &&
943+
(nHTTPCode == 301 || nHTTPCode == 302 || nHTTPCode == 303)) &&
942944
!bHasComputedFileSize)
943945
{
944946
// Caution: When gzip compression is enabled, the content-length is

0 commit comments

Comments
 (0)