/homepages/10/d787300112/htdocs/app/Middleware/LoggedInMiddleware.php
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$route = $request->getAttribute(Route::class);
if (is_null($route)) {
return $handler->handle($request);
}
if ($this->session->get('user')) {
setcookie('loggedIn', 'true');
} else {
setcookie('loggedIn', 'false');
}
if ($route->getGroup() === 'backend' || $route->getGroup() === 'api.backend') {
if (!$this->session->get('user')) {
if ($route->getGroup() === 'api.backend') {
return (new Response(404, [], json_encode(['success' => false])));
}
return (new Response())->withStatus(302)
->withHeader('Location', '/');
}
}
return $handler->handle($request);
}
}
/homepages/10/d787300112/htdocs/app/Middleware/LoggedInMiddleware.php
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$route = $request->getAttribute(Route::class);
if (is_null($route)) {
return $handler->handle($request);
}
if ($this->session->get('user')) {
setcookie('loggedIn', 'true');
} else {
setcookie('loggedIn', 'false');
}
if ($route->getGroup() === 'backend' || $route->getGroup() === 'api.backend') {
if (!$this->session->get('user')) {
if ($route->getGroup() === 'api.backend') {
return (new Response(404, [], json_encode(['success' => false])));
}
return (new Response())->withStatus(302)
->withHeader('Location', '/');
}
}
return $handler->handle($request);
}
}
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/app/Middleware/RoutingMiddleware.php
* Process an incoming server request.
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
* @throws \App\Router\RouterException
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$router = $this->container->get(Router::class);
$route = $router->run($request);
if ($route instanceof Route) {
$request = $request->withAttribute(get_class($route), $route);
}
return $handler->handle($request);
}
}
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/app/Middleware/FrameHeaderMiddleware.php
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
class FrameHeaderMiddleware implements MiddlewareInterface
{
/**
* Process an incoming server request.
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$response = $handler->handle($request);
return $response->withHeader('X-Frame-Option', 'DENY ');
}
}
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/app/Middleware/TokenCsrfMiddleware.php
$this->reject('Token key doesnt exist');
} else {
$csrfList = $this->session[$this->sessionKey] ?? [];
$paramsCsrf = isset($params[$this->formKey]) ? $params[$this->formKey] : '';
$queryParamsCsrf = isset($queryParams[$this->formKey]) ? $queryParams[$this->formKey] : '';
if (in_array($paramsCsrf, $csrfList) || in_array($queryParamsCsrf, $csrfList)) {
if (array_key_exists($this->formKey, $params)) {
$this->useToken($paramsCsrf);
} else {
$this->useToken($queryParamsCsrf);
}
return $handler->handle($request);
} else {
$this->reject('Token value isnt valid');
}
}
}
return $handler->handle($request);
}
/**
* @throws \Exception
*/
public function generateToken() : string
{
$token = bin2hex(random_bytes(16));
$csrfList = $this->session[$this->sessionKey] ?? [];
$csrfList[] = $token;
$this->session[$this->sessionKey] = $csrfList;
$this->limitTokensSize();
return $token;
}
/**
* @param string|null $message
* @throws \Exception
*/
private function reject(?string $message = null)
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/app/Middleware/MethodMiddleware.php
/**
* Process an incoming server request.
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$parsedBody = $request->getParsedBody();
if (in_array('_method', $parsedBody) && in_array($parsedBody['_method'], ['DELETE', 'PUT'])) {
$request = $request->withMethod($parsedBody['_method']);
}
return $handler->handle($request);
}
}
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/app/Middleware/TrailingSlashMiddleware.php
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
class TrailingSlashMiddleware implements MiddlewareInterface
{
/**
* Process an incoming server request.
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$response = $handler->handle($request);
$uri = $request->getUri()->getPath();
if (!empty($uri) && strlen($uri) > 1 && $uri[-1] === '/') {
return $response->withStatus('301')
->withHeader('Location', substr($uri, 0, -1));
}
return $response;
}
}
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/vendor/middlewares/whoops/src/Whoops.php
$whoops->register();
$shutdown = function () use ($whoops) {
$whoops->allowQuit(true);
$whoops->writeToOutput(true);
$whoops->sendHttpCode(true);
$method = Run::SHUTDOWN_HANDLER;
$whoops->$method();
};
if ($this->system) {
$this->system->registerShutdownFunction($shutdown);
} else {
register_shutdown_function($shutdown);
}
}
try {
$response = $handler->handle($request);
} catch (\Throwable $exception) {
$response = $this->createResponse(500);
$response->getBody()->write($whoops->$method($exception));
$response = self::updateResponseContentType($response, $whoops);
} finally {
while (ob_get_level() >= $level) {
ob_end_clean();
}
}
if ($this->catchErrors) {
$whoops->unregister();
}
return $response;
}
/**
* Returns the whoops instance or create one.
*/
/homepages/10/d787300112/htdocs/app/App.php
* @return App
*/
public function pipeline($middleware) : self
{
if ($middleware instanceof MiddlewareInterface) {
$this->middlewares[] = $middleware;
} elseif (is_string($middleware)) {
$this->middlewares[] = new $middleware();
}
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
/homepages/10/d787300112/htdocs/app/App.php
return $this;
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
{
return $this->nextMiddleware()->process($request, $this);
}
public function run(ServerRequestInterface $request) : ResponseInterface
{
foreach ($this->modules as $module) {
$this->container->get($module);
}
return $this->handle($request);
}
/**
* @return MiddlewareInterface
*/
private function nextMiddleware() : MiddlewareInterface
{
$middleware = array_shift($this->middlewares);
if ($middleware === null) {
return new NotFoundHandler();
}
return $middleware;
}
}
/homepages/10/d787300112/htdocs/public/index.php
$builder = new \DI\ContainerBuilder();
$builder->addDefinitions(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'config.php');
$container = $builder->build();
$app = new \App\App($container);
$session = $container->get(\Core\Session\SessionInterface::class);
$app->setModule(\App\Module\FrontModule::class)
->setModule(\App\Module\ApiModule::class)
->pipeline(new \Middlewares\Whoops())
->pipeline(new \App\Middleware\TrailingSlashMiddleware())
->pipeline(new \App\Middleware\MethodMiddleware())
->pipeline(new \App\Middleware\TokenCsrfMiddleware($session))
->pipeline(new \App\Middleware\FrameHeaderMiddleware())
->pipeline(new \App\Middleware\RoutingMiddleware($container))
->pipeline(new \App\Middleware\LoggedInMiddleware($session))
->pipeline(new \App\Middleware\AjaxMiddleware($session))
->pipeline(new \App\Middleware\DispatcherMiddleware());
$response = $app->run(\GuzzleHttp\Psr7\ServerRequest::fromGlobals());
\Http\Response\send($response);