#include <signal.h>
#include <main/Cynara.h>
+#include <request/AdminCheckRequest.h>
#include <request/CheckRequest.h>
#include <request/InsertOrUpdateBucketRequest.h>
#include <request/RemoveBucketRequest.h>
}
}
+void Logic::execute(RequestContextPtr context, AdminCheckRequestPtr request) {
+ PolicyResult result = m_storage->checkPolicy(request->key(), request->startBucket(),
+ request->recursive());
+
+ context->returnResponse(context, std::make_shared<CheckResponse>(result,
+ request->sequenceNumber()));
+}
+
void Logic::execute(RequestContextPtr context, CheckRequestPtr request) {
PolicyResult result(PredefinedPolicyType::DENY);
if (check(context, request->key(), result)) {
m_socketManager.reset();
}
+ virtual void execute(RequestContextPtr context, AdminCheckRequestPtr request);
virtual void execute(RequestContextPtr context, CheckRequestPtr request);
virtual void execute(RequestContextPtr context, InsertOrUpdateBucketRequestPtr request);
virtual void execute(RequestContextPtr context, RemoveBucketRequestPtr request);