/**
  * @return ProxyStrategyResponse
  */
 public function postExecute(ProxyStrategyRequest $proxyStrategyRequest)
 {
     /** @var CacheProxyStrategyRequest $proxyStrategyRequest */
     $saved = $this->cache->saveWithNamespace($proxyStrategyRequest->getId(), $proxyStrategyRequest->getData(), $proxyStrategyRequest->getNamespaceId(), $proxyStrategyRequest->getLifeTime());
     $response = new ProxyStrategyResponseDTO($saved, false);
     return $response;
 }
 /**
  * @return ProxyStrategyResponse
  */
 public function onException(ProxyStrategyRequest $proxyStrategyRequest)
 {
     /** @var EventProxyStrategyRequest $proxyStrategyRequest */
     $event = $this->eventFactory->make($proxyStrategyRequest->getEventName(), $proxyStrategyRequest->getUseCaseRequest(), null, $proxyStrategyRequest->getException());
     $this->event->send($proxyStrategyRequest->getEventName(), $event);
     return new ProxyStrategyResponseDTO();
 }
 /**
  * @return ProxyStrategyResponse
  */
 public function preExecute(ProxyStrategyRequest $proxyStrategyRequest)
 {
     /** @var SecurityProxyStrategyRequest $proxyStrategyRequest */
     $this->security->checkAccess($proxyStrategyRequest->getAttributes(), $proxyStrategyRequest->getObject());
     return new ProxyStrategyResponseDTO();
 }