diff options
Diffstat (limited to 'zenserver/casstore.cpp')
| -rw-r--r-- | zenserver/casstore.cpp | 48 |
1 files changed, 1 insertions, 47 deletions
diff --git a/zenserver/casstore.cpp b/zenserver/casstore.cpp index b36dcc09f..88525bd36 100644 --- a/zenserver/casstore.cpp +++ b/zenserver/casstore.cpp @@ -2,8 +2,8 @@ #include "casstore.h" +#include <zencore/fmtutils.h> #include <zencore/logging.h> -#include <zencore/streamutil.h> #include <gsl/gsl-lite.hpp> @@ -14,52 +14,6 @@ HttpCasService::HttpCasService(CasStore& Store) : m_CasStore(Store) m_Router.AddPattern("cas", "([0-9A-Fa-f]{40})"); m_Router.RegisterRoute( - "batch", - [this](HttpRouterRequest& Req) { - HttpServerRequest& ServerRequest = Req.ServerRequest(); - - IoBuffer Payload = ServerRequest.ReadPayload(); - uint64_t EntryCount = Payload.Size() / sizeof(IoHash); - - if ((EntryCount * sizeof(IoHash)) != Payload.Size()) - { - return ServerRequest.WriteResponse(HttpResponseCode::BadRequest); - } - - const IoHash* Hashes = reinterpret_cast<const IoHash*>(Payload.Data()); - std::vector<IoBuffer> Values; - - MemoryOutStream HeaderStream; - BinaryWriter HeaderWriter(HeaderStream); - - Values.emplace_back(); // Placeholder for header - - // Build response header - HeaderWriter << uint32_t(0x12340000) << uint32_t(0); - - for (uint64_t i = 0; i < EntryCount; ++i) - { - IoHash ChunkHash = Hashes[i]; - IoBuffer Value = m_CasStore.FindChunk(ChunkHash); - - if (Value) - { - Values.emplace_back(std::move(Value)); - HeaderWriter << ChunkHash << uint64_t(Value.Size()); - } - } - - // Make real header - - const_cast<uint32_t*>(reinterpret_cast<const uint32_t*>(HeaderStream.Data()))[1] = uint32_t(Values.size() - 1); - - Values[0] = IoBufferBuilder::MakeCloneFromMemory(HeaderStream.Data(), HeaderStream.Size()); - - ServerRequest.WriteResponse(HttpResponseCode::OK, HttpContentType::kBinary, Values); - }, - HttpVerb::kPost); - - m_Router.RegisterRoute( "{cas}", [this](HttpRouterRequest& Req) { IoHash Hash = IoHash::FromHexString(Req.GetCapture(1)); |