diff options
| author | Martin Ridgers <[email protected]> | 2021-10-14 13:38:07 +0200 |
|---|---|---|
| committer | Martin Ridgers <[email protected]> | 2021-10-14 13:38:07 +0200 |
| commit | a95a8db4056de33a46164c304abeb9b5e915ed5c (patch) | |
| tree | 673dc4165eae327eae4cb68fd1398223c86915cc /zenserver/projectstore.cpp | |
| parent | Use std::fs::path for IoBuffer::MakeFromFile(). (diff) | |
| parent | Merge branch 'main' of https://github.com/EpicGames/zen (diff) | |
| download | zen-a95a8db4056de33a46164c304abeb9b5e915ed5c.tar.xz zen-a95a8db4056de33a46164c304abeb9b5e915ed5c.zip | |
Merged main
Diffstat (limited to 'zenserver/projectstore.cpp')
| -rw-r--r-- | zenserver/projectstore.cpp | 60 |
1 files changed, 5 insertions, 55 deletions
diff --git a/zenserver/projectstore.cpp b/zenserver/projectstore.cpp index 672ff14d8..0e1ba01cb 100644 --- a/zenserver/projectstore.cpp +++ b/zenserver/projectstore.cpp @@ -1232,66 +1232,16 @@ HttpProjectService::HttpProjectService(CasStore& Store, ProjectStore* Projects) const auto& OplogId = Req.GetCapture(2); const auto& HashString = Req.GetCapture(3); - bool IsOffset = false; - uint64_t Offset = 0; - uint64_t Size = ~(0ull); - - auto QueryParms = Req.ServerRequest().GetQueryParams(); - - if (auto OffsetParm = QueryParms.GetValue("offset"); OffsetParm.empty() == false) - { - if (auto OffsetVal = ParseInt<uint64_t>(OffsetParm)) - { - Offset = OffsetVal.value(); - IsOffset = true; - } - else - { - return HttpReq.WriteResponse(HttpResponseCode::BadRequest); - } - } - - if (auto SizeParm = QueryParms.GetValue("size"); SizeParm.empty() == false) - { - if (auto SizeVal = ParseInt<uint64_t>(SizeParm)) - { - Size = SizeVal.value(); - IsOffset = true; - } - else - { - return HttpReq.WriteResponse(HttpResponseCode::BadRequest); - } - } - ZEN_DEBUG("oplog hash - {} / {} / {}", ProjectId, OplogId, HashString); - IoHash Hash = IoHash::FromHexString(HashString); - IoBuffer Value = m_CasStore.FindChunk(Hash); - if (!Value) - { - return HttpReq.WriteResponse(HttpResponseCode::NotFound); - } + IoHash Hash = IoHash::FromHexString(HashString); - if (IsOffset) + if (IoBuffer Value = m_CasStore.FindChunk(Hash)) { - if (Offset > Value.Size()) - { - Offset = Value.Size(); - } - - if ((Offset + Size) > Value.Size()) - { - Size = Value.Size() - Offset; - } - - // Send only a subset of data - IoBuffer InnerValue(Value, Offset, Size); - - return HttpReq.WriteResponse(HttpResponseCode::OK, HttpContentType::kBinary, InnerValue); + return HttpReq.WriteResponse(HttpResponseCode::OK, HttpContentType::kBinary, Value); } - return HttpReq.WriteResponse(HttpResponseCode::OK, HttpContentType::kBinary, Value); + return HttpReq.WriteResponse(HttpResponseCode::NotFound); }, HttpVerb::kGet); @@ -1325,7 +1275,7 @@ HttpProjectService::HttpProjectService(CasStore& Store, ProjectStore* Projects) if (!m_CasStore.FindChunk(FileHash)) { - ZEN_DEBUG("NEED: {}", FileHash); + ZEN_DEBUG("prep - NEED: {}", FileHash); NeedList.push_back(FileHash); } |