aboutsummaryrefslogtreecommitdiff
path: root/zenserver/projectstore.cpp
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-10-14 13:38:07 +0200
committerMartin Ridgers <[email protected]>2021-10-14 13:38:07 +0200
commita95a8db4056de33a46164c304abeb9b5e915ed5c (patch)
tree673dc4165eae327eae4cb68fd1398223c86915cc /zenserver/projectstore.cpp
parentUse std::fs::path for IoBuffer::MakeFromFile(). (diff)
parentMerge branch 'main' of https://github.com/EpicGames/zen (diff)
downloadzen-a95a8db4056de33a46164c304abeb9b5e915ed5c.tar.xz
zen-a95a8db4056de33a46164c304abeb9b5e915ed5c.zip
Merged main
Diffstat (limited to 'zenserver/projectstore.cpp')
-rw-r--r--zenserver/projectstore.cpp60
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);
}