From c39fce88396049589592327295a53538df127fbb Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Sat, 23 May 2020 17:09:51 +0400 Subject: [PATCH] RequestContext::parse_byte_range() --- src/server/request_context.cpp | 8 ++++++-- src/server/request_context.h | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/server/request_context.cpp b/src/server/request_context.cpp index 1ea184ebf..a242b742f 100644 --- a/src/server/request_context.cpp +++ b/src/server/request_context.cpp @@ -86,9 +86,14 @@ RequestContext::RequestContext(struct MHD_Connection* connection, (get_header(MHD_HTTP_HEADER_ACCEPT_ENCODING).find("deflate") != std::string::npos); } catch (const std::out_of_range&) {} - /*Check if range is requested. */ try { std::string range = get_header(MHD_HTTP_HEADER_RANGE); + parse_byte_range(range); + } catch (const std::out_of_range&) {} +} + +void RequestContext::parse_byte_range(std::string range) +{ const std::string byteUnitSpec("bytes="); if ( kiwix::startsWith(range, byteUnitSpec) ) { range.erase(0, byteUnitSpec.size()); @@ -110,7 +115,6 @@ RequestContext::RequestContext(struct MHD_Connection* connection, } } } - } catch (const std::out_of_range&) {} } RequestContext::~RequestContext() diff --git a/src/server/request_context.h b/src/server/request_context.h index d58040f07..1a4163919 100644 --- a/src/server/request_context.h +++ b/src/server/request_context.h @@ -86,6 +86,9 @@ class RequestContext { bool can_compress() const { return acceptEncodingDeflate; } + private: // functions + void parse_byte_range(std::string range); + private: // data std::string full_url; std::string url;