public function beforeHandleEvent(Event $event) { if (null !== $event->getParams()->get("actionClass")) { return; } $logger = $event->getPublisher()->getServices()->get("logger"); $eventParams = $event->getParams(); $request = $eventParams->get("request"); $method = $request->getMethod(); $uri = $request->getUri(false, false); $name = null; $route = $this->findByUri($uri, $name); if (null === $route) { if (null !== $logger) { $logger->warn("Route not found for request: {$method} {$uri})"); } return; } $this->setCurrent($name); if (null !== $logger) { $logger->info("Route \"{$name}\" matched for request: {$method} {$uri}"); } $eventParams->set("actionClass", $route->getActionClass()); $eventParams->get("actionArgs")->merge($route->getActionArgs()); $request->getQueryParams()->merge($route->getPatternParamValues()); }
public function beforeSendEvent(Event $event) { $params = $event->getParams(); if (!$this->isCookieSecure() || $params->get("request")->isSecure()) { $this->applyCookie($params->get("response")); } }
public function beforeHandleEvent(Event $event) { $application = $event->getPublisher(); $logger = $application->getServices()->get("logger"); if ($this->isCookieSecure() && !$event->getParams()->get("request")->isSecure()) { if (null !== $logger) { $logger->info("Session not opened for insecure connection"); } return; } $this->open(); if (null !== $logger) { $logger->info("Session opened with ID: {$this->getId()}"); } }
protected function onOpenEvent(Event $event) { $eventParams = $event->getParams(); if ($eventParams->has("id")) { $this->setId($eventParams->get("id")); } session_start(); if (!array_key_exists(static::KEY_NAMESPACE, $_SESSION)) { $_SESSION[static::KEY_NAMESPACE] = []; } $this->getParams()->bind($_SESSION[static::KEY_NAMESPACE]); $this->updateFlash(); }
protected function onRenderEvent(Event $event) { $eventParams = $event->getParams(); $request = $eventParams->get("request"); $response = $eventParams->get("response"); $options = $eventParams->get("options"); if (null === $options->get("selector")) { $options->set("selector", "#panadas-console"); } if (null === $options->get("timer")) { $options->set("timer", sprintf("%.3f", microtime(true) - $this->getRequestDateTime()->format("U.u"))); } if (null === $options->get("speed")) { $options->set("speed", 200); } $panels = $options->get("panels"); if (!$panels->has("log")) { $panels->set("log", $this->createLogPanel($request, $response)); } if (!$panels->has("request")) { $panels->set("request", $this->createRequestPanel($request, $response)); } }
protected function onSendEvent(Event $event) { $eventParams = $event->getParams(); $request = $eventParams->get("request"); $response = $eventParams->get("response"); if ($request->isHead() && $response->hasContent()) { $response->getHeaders()->set("Content-Length", mb_strlen($response->getContent(), $response->getCharset())); $response->removeContent(); } $response->send(); }