/** * @param PostResponseEvent $event */ public function cacheData(PostResponseEvent $event) { if ($event->getRequest()->query->get('no-cache', null)) { return; } if (array_key_exists($route = $event->getRequest()->attributes->get('_route'), $this->cachedRoutes)) { /** @var Response $response */ $response = $event->getResponse(); if ($response->getStatusCode() < 400) { if (!$event->getRequest()->attributes->has('cached_data')) { $this->responseCacher->writeCache($event->getRequest(), $event->getResponse(), $this->cachedRoutes[$route]); } } } }
public function onKernelTerminate(PostResponseEvent $event) { if (!$event->isMasterRequest() || !$event->getRequest()->headers->has(self::GENERATE_LOG_HEADER)) { return; } $this->responseLogger->logReponse($event->getRequest(), $event->getResponse()); }
public function onKernelTerminate(PostResponseEvent $event) { /** @var Request $request */ $request = $event->getRequest(); if (!$this->isEnable || !$this->isLoggableRequest($request)) { return; } try { /** @var Response $response */ $response = $event->getResponse(); $route = $request->get('_route'); $content = $this->cleanSensitiveContent($route, $request->getContent()); $token = $this->tokenStorage->getToken(); $user = !is_null($token) ? $token->getUser() : null; $logRequest = new LogRequest(); $logRequest->setRoute($route)->setPath($request->getPathInfo())->setMethod($request->getMethod())->setQuery(urldecode($request->getQueryString()))->setContent($content)->setStatus($response->getStatusCode())->setIp($request->getClientIp())->setUser(!is_string($user) ? $user : null); if ($this->logResponse($response)) { $logRequest->setResponse($response->getContent()); } $this->em->persist($logRequest); $this->em->flush(); } catch (\Exception $e) { $this->logger->error(sprintf("LogRequest couldn't be persist : %s", $e->getMessage())); } }
/** * @param PostResponseEvent $event */ public function onTerminate(PostResponseEvent $event) { if (!$event->isMasterRequest()) { return; } $this->eventDispatcher->dispatch(Events::REQUEST_ENDS, new RequestEnded($event->getRequest(), $event->getResponse())); }
/** * Forwards the request to the Frontend class if there is a page object. * * @param PostResponseEvent $event The event object */ public function onKernelTerminate(PostResponseEvent $event) { if (!$this->framework->isInitialized()) { return; } Frontend::indexPageIfApplicable($event->getResponse()); }
/** * Forwards the request to the Frontend class if there is a page object. * * @param PostResponseEvent $event */ public function onKernelTerminate(PostResponseEvent $event) { if (!$this->framework->isInitialized()) { return; } /** @var Frontend $frontend */ $frontend = $this->framework->getAdapter('Contao\\Frontend'); $frontend->indexPageIfApplicable($event->getResponse()); }
/** * @param PostResponseEvent $event */ public function onKernelTerminate(PostResponseEvent $event) { if (!$event->isMasterRequest()) { return; } if ($span = $this->spanStack->pop()) { $this->tracer->trace([$this->httpFoundationSpanFactory->fromOutgoingResponse($event->getResponse(), $span)]); } }
function it_traces_the_response_and_pop_the_stack(HttpFoundationSpanFactory $httpFoundationSpanFactory, Tracer $tracer, SpanStack $spanStack, Span $span, PostResponseEvent $event) { $response = new Response(); $event->isMasterRequest()->willReturn(true); $event->getResponse()->willReturn($response); $spanStack->pop()->shouldBeCalled()->willReturn($span); $httpFoundationSpanFactory->fromOutgoingResponse($response, $span)->shouldBeCalled()->willReturn($span); $tracer->trace([$span])->shouldBeCalled(); $this->onKernelTerminate($event); }
/** * @param PostResponseEvent $event */ public function onTerminate(PostResponseEvent $event) { $response = $event->getResponse(); if (!is_null($this->logger)) { $this->logger->info('< ' . $response->getStatusCode()); if (!is_null($this->benchmark)) { $total = $this->benchmark->getAppStatistic(); $this->logger->info('= Time: ' . $total['time'] . ', Memory: ' . FileSizeHelper::humanize($total['memory'])); } } }
/** * Forwards the request to the Frontend class if there is a page object. * * @param PostResponseEvent $event */ public function onKernelTerminate(PostResponseEvent $event) { if (!$this->framework->isInitialized()) { return; } // Do not index fragments if (preg_match('~(?:^|/)' . preg_quote($this->fragmentPath, '~') . '/~', $event->getRequest()->getPathInfo())) { return; } /** @var Frontend $frontend */ $frontend = $this->framework->getAdapter(Frontend::class); $frontend->indexPageIfApplicable($event->getResponse()); }
/** * Apply invalidators and flush cache manager * * On kernel.terminate: * - see if any invalidators apply to the current request and, if so, add * their routes to the cache manager; * - flush the cache manager in order to send invalidation requests to the * HTTP cache. * * @param PostResponseEvent $event */ public function onKernelTerminate(PostResponseEvent $event) { $request = $event->getRequest(); $response = $event->getResponse(); // Don't invalidate any caches if the request was unsuccessful if ($response->isSuccessful()) { $this->handleInvalidation($request, $response); } try { $this->cacheManager->flush(); } catch (ExceptionCollection $e) { // swallow exception // there is the fos_http_cache.event_listener.log to log them } }
/** * If needed, executes the ezperformancelogger logging on the Symfony Post-Response event * We wrap the logging code in a runCallback call, as it might need to read inis and such stuff * NB: we do not need to check for request type - this event only fires on master requests * * @param $event */ public function onTerminate(PostResponseEvent $event) { // small speed gain: avoid useless callback if measurement was already done if ($this->hasRun) { return; } $response = $event->getResponse(); $legacyKernelClosure = $this->legacyKernelClosure; $legacyKernel = $legacyKernelClosure(); // accommodate for treemenu kernel not allowing runCallback try { $legacyKernel->runCallback(function () use($response) { eZPerfLogger::cleanup($response->getContent(), $response->getStatusCode()); }); } catch (\RuntimeException $e) { } $this->hasRun = true; }
public function onKernelTerminate(PostResponseEvent $event) { if ($this->container->has('profiler')) { /** @var $profiler \Symfony\Component\HttpKernel\Profiler\Profiler */ $profiler = $this->container->get('profiler'); if ($profile = $profiler->loadProfileFromResponse($event->getResponse())) { $logRequest = $this->jarvesLogHandler->getLogRequest(); $logRequest->setCounts(json_encode($this->jarvesLogHandler->getCounts())); $logRequest->setProfileToken($profile->getToken()); $logRequest->save(); return; } } //are there any warnings+? if ($this->jarvesLogHandler->getCounts()) { $logRequest = $this->jarvesLogHandler->getLogRequest(); $logRequest->setCounts(json_encode($this->jarvesLogHandler->getCounts())); $logRequest->save(); } $this->jarvesLogHandler->resetLogRequest(); }
/** * @param PostResponseEvent $event */ public function onTerminate(PostResponseEvent $event) { if (!$event->isMasterRequest()) { return; } $request = $event->getRequest(); if ($request->getRealMethod() == 'OPTIONS') { return; } if (!preg_match($this->rule, $request->getRequestUri())) { return; } $response = $event->getResponse(); $message = $this->formatter->format($request, $response); if ($response->isClientError()) { $this->logger->error($message); return; } if ($response->isServerError()) { $this->logger->critical($message); return; } $this->logger->info($message); }
/** * Save the previous URL in session which is based on the referer header or the request, or * the _previous_url request attribute, if defined. * * If the value of _previous_url is "dont-save", the current referrer is not saved. * * @param \Symfony\Component\HttpKernel\Event\PostResponseEvent $event */ public function registerPreviousUrl(PostResponseEvent $event) { $request = $event->getRequest(); if (!$request->isXmlHttpRequest() && $event->getResponse()->isSuccessful()) { $referrer = $request->attributes->get('_previous_url', null); if (null !== $referrer) { // A previous URL (or the keyword 'dont-save') has been specified. if ('dont-save' == $referrer) { // We should not save the current URL as the previous URL $referrer = null; } } else { // The current URL will become the previous URL $referrer = $request->getUri(); } // Set previous URL, if defined if (null !== $referrer) { $session = $request->getSession(); if (ConfigQuery::isMultiDomainActivated()) { $components = parse_url($referrer); $lang = LangQuery::create()->filterByUrl(sprintf("%s://%s", $components["scheme"], $components["host"]), ModelCriteria::LIKE)->findOne(); if (null !== $lang) { $session->setReturnToUrl($referrer); } } else { if (false !== strpos($referrer, $request->getSchemeAndHttpHost())) { $session->setReturnToUrl($referrer); } } } } }
/** * @param PostResponseEvent $event */ public function onKernelTerminate(PostResponseEvent $event) { $request = new Request($event->getRequest(), $event->getResponse(), $this->getUsername()); $this->entityManager->persist($request); $this->entityManager->flush(); }