aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/include
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2026-02-27 13:12:10 +0100
committerGitHub Enterprise <[email protected]>2026-02-27 13:12:10 +0100
commit9e7019aa16b19cd87aa6af3ef39825edb039c8be (patch)
tree389df8874e04efc77830043a6830e7aa053cc50f /src/zenhttp/include
parentPorted "lane trace" feature from UE (by way of IAX) (#771) (diff)
downloadzen-9e7019aa16b19cd87aa6af3ef39825edb039c8be.tar.xz
zen-9e7019aa16b19cd87aa6af3ef39825edb039c8be.zip
add support in http client to accept multi-range responses (#788)
* add support in http client to accept multi-range responses
Diffstat (limited to 'src/zenhttp/include')
-rw-r--r--src/zenhttp/include/zenhttp/httpclient.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/zenhttp/include/zenhttp/httpclient.h b/src/zenhttp/include/zenhttp/httpclient.h
index 336a3deee..41a7ce621 100644
--- a/src/zenhttp/include/zenhttp/httpclient.h
+++ b/src/zenhttp/include/zenhttp/httpclient.h
@@ -179,6 +179,20 @@ public:
// The elapsed time in seconds for the request to execute
double ElapsedSeconds;
+ struct MultipartBoundary
+ {
+ uint64_t OffsetInPayload;
+ uint64_t RangeOffset;
+ uint64_t RangeLength;
+ HttpContentType ContentType;
+ };
+
+ // Ranges will map out all recevied ranges, both single and multi-range responses
+ // If no range was requested Ranges will be empty
+ std::vector<MultipartBoundary> Ranges;
+
+ std::vector<std::pair<uint64_t, uint64_t>> GetRanges(std::span<const std::pair<uint64_t, uint64_t>> OffsetAndLengthPairs) const;
+
// This contains any errors from the HTTP stack. It won't contain information on
// why the server responded with a non-success HTTP status, that may be gleaned
// from the response payload itself depending on what the server provides.