public static function login(Request $request) { if (Session::isLoggedIn()) { return new RedirectResponse($request->getReferer() ?: Router::link('admin.index')); } if ($request->isMethod('post')) { $error = Session::login($request->getData()); if (!$error) { return new RedirectResponse($request->getReferer() ?: Router::link('admin.index')); } } else { $error = ''; } return new TemplateResponse('admin/login', ['error' => $error]); }
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; }
public static function put(Request $request) { return new JsonResponse($request->getData()); }
public static function getRequest() : Request { static $request = null; if ($request === null) { $data = []; if (isset($GLOBALS['argc']) && $GLOBALS['argc'] > 0) { $argv = $GLOBALS['argv']; $i = 1; $method = $argv[$i]; if ($argv[$i + 1] === '-s') { $secure = true; $i++; } else { $secure = false; } $route = $argv[$i + 1]; if (isset($argv[$i + 2])) { parse_str($argv[$i + 2], $data); } $url = 'http' . ($secure ? 's' : '') . '://'; $url .= Config::getString('host', 'domain.tld'); $url .= '/' . trim($route, '/'); $request = new Request($method, new Uri($url), $data, [], ''); } else { $request = Request::createFromGlobals(); } } return $request; }