Esempio n. 1
0
 public function render(Request $request)
 {
     if (!in_array($request->getMethod(), $this->requirements['methods'])) {
         return false;
     }
     $path = $request->getUri()->getPath();
     $path = '/' . trim($path, '/');
     if (preg_match($this->pattern, $path, $urlParameters) !== 1) {
         return false;
     }
     $realParameters = self::getParameters($this->getHandlerParameters(), array_filter($urlParameters), $request);
     EventHandler::trigger(EventHandler::ON_ROUTE_MATCH, $this, $realParameters, $request);
     if ($this->requirements['https'] && !$request->isSecure()) {
         return false;
     }
     $response = ($this->handler)(...array_values($realParameters));
     self::handleResponse($response);
     return true;
 }