aboutsummaryrefslogtreecommitdiff
path: root/zenserver/cache/structuredcache.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2022-05-10 09:53:00 +0200
committerDan Engelbrecht <[email protected]>2022-05-11 16:13:36 +0200
commit1b681b96424e0c25e26a2dbc24b42038539ac5af (patch)
tree1eaa0fce0091ae871e3212e1bc046a52d0d93bb2 /zenserver/cache/structuredcache.cpp
parentUse configured namespace in Jupiter if not explicit namespace is given (diff)
downloadzen-1b681b96424e0c25e26a2dbc24b42038539ac5af.tar.xz
zen-1b681b96424e0c25e26a2dbc24b42038539ac5af.zip
cleanup
Diffstat (limited to 'zenserver/cache/structuredcache.cpp')
-rw-r--r--zenserver/cache/structuredcache.cpp52
1 files changed, 26 insertions, 26 deletions
diff --git a/zenserver/cache/structuredcache.cpp b/zenserver/cache/structuredcache.cpp
index 74438ac2e..98272722c 100644
--- a/zenserver/cache/structuredcache.cpp
+++ b/zenserver/cache/structuredcache.cpp
@@ -140,8 +140,7 @@ HttpStructuredCacheService::HandleRequest(HttpServerRequest& Request)
if (std::all_of(begin(Key), end(Key), [](const char c) { return std::isalnum(c); }))
{
// Bucket reference
-
- return HandleCacheBucketRequest(Request, ZenCacheStore::DefaultNamespace, Key);
+ return HandleCacheBucketRequest(Request, Key);
}
return Request.WriteResponse(HttpResponseCode::BadRequest); // invalid URL
@@ -162,7 +161,7 @@ HttpStructuredCacheService::HandleRequest(HttpServerRequest& Request)
}
void
-HttpStructuredCacheService::HandleCacheBucketRequest(HttpServerRequest& Request, std::string_view Namespace, std::string_view Bucket)
+HttpStructuredCacheService::HandleCacheBucketRequest(HttpServerRequest& Request, std::string_view Key)
{
switch (Request.RequestVerb())
{
@@ -175,14 +174,19 @@ HttpStructuredCacheService::HandleCacheBucketRequest(HttpServerRequest& Request,
case HttpVerb::kDelete:
// Drop bucket
-
- if (m_CacheStore.DropBucket(Namespace, Bucket))
- {
- return Request.WriteResponse(HttpResponseCode::OK);
- }
- else
{
- return Request.WriteResponse(HttpResponseCode::NotFound);
+ // TODO: Should add namespace to URI and handle if the namespace is missing for backwards compatability
+ std::string_view Namespace = ZenCacheStore::DefaultNamespace;
+ std::string_view Bucket = Key;
+
+ if (m_CacheStore.DropBucket(Namespace, Bucket))
+ {
+ return Request.WriteResponse(HttpResponseCode::OK);
+ }
+ else
+ {
+ return Request.WriteResponse(HttpResponseCode::NotFound);
+ }
}
break;
@@ -790,7 +794,8 @@ HttpStructuredCacheService::ValidateKeyUri(HttpServerRequest& Request, CacheRef&
return false;
}
- OutRef.Namespace = ToLower(""); // TODO: Should we add namespace to URI?
+ OutRef.Namespace = ToLower(ZenCacheStore::DefaultNamespace); // TODO: Should add namespace to URI and handle if the namespace is
+ // missing for backwards compatability
OutRef.BucketSegment = ToLower(Key.substr(0, BucketSplitOffset));
if (!std::all_of(begin(OutRef.Namespace), end(OutRef.Namespace), [](const char c) { return std::isalnum(c); }))
@@ -937,9 +942,8 @@ HttpStructuredCacheService::HandleRpcPutCacheRecords(zen::HttpServerRequest& Req
CbFieldView NamespaceField = KeyView["Namespace"sv];
CbFieldView BucketField = KeyView["Bucket"sv];
CbFieldView HashField = KeyView["Hash"sv];
- CacheKey Key = CacheKey::Create(NamespaceField ? NamespaceField.AsString() : ZenCacheStore::DefaultNamespace,
- BucketField.AsString(),
- HashField.AsHash());
+ CacheKey Key =
+ CacheKey::Create(NamespaceField.AsString(ZenCacheStore::DefaultNamespace), BucketField.AsString(), HashField.AsHash());
if (BucketField.HasError() || HashField.HasError() || Key.Bucket.empty())
{
return Request.WriteResponse(HttpResponseCode::BadRequest);
@@ -1116,9 +1120,7 @@ HttpStructuredCacheService::HandleRpcGetCacheRecords(zen::HttpServerRequest& Htt
CbFieldView BucketField = KeyObject["Bucket"sv];
CbFieldView HashField = KeyObject["Hash"sv];
CacheKey& Key = Request.Upstream.Key;
- Key = CacheKey::Create(NamespaceField ? NamespaceField.AsString() : ZenCacheStore::DefaultNamespace,
- BucketField.AsString(),
- HashField.AsHash());
+ Key = CacheKey::Create(NamespaceField.AsString(ZenCacheStore::DefaultNamespace), BucketField.AsString(), HashField.AsHash());
if (HashField.HasError() || Key.Bucket.empty())
{
return HttpRequest.WriteResponse(HttpResponseCode::BadRequest);
@@ -1399,9 +1401,8 @@ HttpStructuredCacheService::HandleRpcPutCacheValues(zen::HttpServerRequest& Requ
CbFieldView NamespaceField = KeyView["Namespace"sv];
CbFieldView BucketField = KeyView["Bucket"sv];
CbFieldView HashField = KeyView["Hash"sv];
- CacheKey Key = CacheKey::Create(NamespaceField ? NamespaceField.AsString() : ZenCacheStore::DefaultNamespace,
- BucketField.AsString(),
- HashField.AsHash());
+ CacheKey Key =
+ CacheKey::Create(NamespaceField.AsString(ZenCacheStore::DefaultNamespace), BucketField.AsString(), HashField.AsHash());
if (BucketField.HasError() || HashField.HasError() || Key.Bucket.empty())
{
return Request.WriteResponse(HttpResponseCode::BadRequest);
@@ -1517,9 +1518,8 @@ HttpStructuredCacheService::HandleRpcGetCacheValues(zen::HttpServerRequest& Http
CbFieldView NamespaceField = KeyObject["Namespace"sv];
CbFieldView BucketField = KeyObject["Bucket"sv];
CbFieldView HashField = KeyObject["Hash"sv];
- Request.Key = CacheKey::Create(NamespaceField ? NamespaceField.AsString() : ZenCacheStore::DefaultNamespace,
- BucketField.AsString(),
- HashField.AsHash());
+ Request.Key =
+ CacheKey::Create(NamespaceField.AsString(ZenCacheStore::DefaultNamespace), BucketField.AsString(), HashField.AsHash());
if (BucketField.HasError() || HashField.HasError() || Request.Key.Bucket.empty())
{
return HttpRequest.WriteResponse(HttpResponseCode::BadRequest);
@@ -1774,9 +1774,9 @@ HttpStructuredCacheService::ParseGetCacheChunksRequest(std::vector<CacheKeyReque
CbObjectView KeyObject = RequestObject["Key"sv].AsObjectView();
CbFieldView HashField = KeyObject["Hash"sv];
CbFieldView NamespaceField = KeyObject["Namespace"sv];
- RequestKey.Key = CacheKey::Create(NamespaceField ? NamespaceField.AsString() : ZenCacheStore::DefaultNamespace,
- KeyObject["Bucket"sv].AsString(),
- HashField.AsHash());
+ RequestKey.Key = CacheKey::Create(NamespaceField.AsString(ZenCacheStore::DefaultNamespace),
+ KeyObject["Bucket"sv].AsString(),
+ HashField.AsHash());
if (RequestKey.Key.Bucket.empty() || HashField.HasError())
{
ZEN_WARN("GetCacheChunks: Invalid key in ChunkRequest.");