Beispiel #1
0
 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());
 }
Beispiel #2
0
 public function beforeSendEvent(Event $event)
 {
     $params = $event->getParams();
     if (!$this->isCookieSecure() || $params->get("request")->isSecure()) {
         $this->applyCookie($params->get("response"));
     }
 }
Beispiel #3
0
 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()}");
     }
 }
Beispiel #4
0
 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();
 }
Beispiel #5
0
 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));
     }
 }
Beispiel #6
0
 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();
 }