diff options
Diffstat (limited to 'zenserver/cache/structuredcache.cpp')
| -rw-r--r-- | zenserver/cache/structuredcache.cpp | 52 |
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."); |