Thanks @bbockelm @matyasselmeci
The fix which Brian described (which I interpreted as snippet (x) below) is needed; it's quite local and doesn't really overlap with #1976; with a fully specified range like 100-200 it solves the current issue. But during tests I've seen it can leave curl hanging (waiting for the last ('0') chunk), when given an open range like '100-' (but not '0-'). This comes about because we have some problems handling those ranges. That should be fixed, which seems to go overlap a lot with what I'm preparing for #1976.
So if it's ok I'd hold off with a PR for this until I get a fix for #1976 ready (but that might be another ~week), and then put a fix for this with that work (or make the PR at the same time).
--
(x) tried with this change:
{code}
diff --git a/src/XrdHttp/XrdHttpReq.cc b/src/XrdHttp/XrdHttpReq.cc
index e119181..d601f47 100644
--- a/src/XrdHttp/XrdHttpReq.cc
+++ b/src/XrdHttp/XrdHttpReq.cc
@@ -2214,7 +2214,11 @@ int XrdHttpReq::PostProcessHTTPReq(bool final_) {
s += responseHeader.c_str();
}
prot->SendSimpleResp(206, NULL, (char *)s.c_str(), NULL, cnt, keepalive);
if (m_transfer_encoding_chunked && m_trailer_headers) {
prot->StartChunkedResp(206, NULL, (char *)s.c_str(), cnt, keepalive);
} else {
prot->SendSimpleResp(206, NULL, (char *)s.c_str(), NULL, cnt, keepalive);
}
return 0;
} else
if (rwOps.size() > 1) {
{code}
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Use REPLY-ALL to reply to list
To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1