<?php /** * app.php */ require_once __DIR__ . "/../config.php"; require_once __DIR__ . '/../vendor/autoload.php'; use Psr7Middlewares\Middleware; $app = new \Slim\App(new \App\Lib\AppContainer(['settings' => ['displayErrorDetails' => true]])); $app->add(Middleware::responseTime()); $app->add(Middleware::TrailingSlash()); $app->add(Middleware::BasicAuthentication()->users(['test' => '1234'])); require_once 'routes.php'; $app->run();
<?php use Psr7Middlewares\Middleware; return ['globalMiddleware' => [Middleware::responseTime(), Middleware::payload()], 'registeredMiddleware' => ['cache' => 'Craft\\HttpMessages_CacheMiddleware', 'csrf' => 'Craft\\HttpMessages_CsrfMiddleware', 'fractal' => 'Craft\\HttpMessages_FractalMiddleware', 'validation' => 'Craft\\HttpMessages_ValidationMiddleware'], 'headers' => ['html' => ['Content-Type' => ['text/html; charset=utf-8']], 'json' => ['Pragma' => ['no-cache'], 'Cache-Control' => ['no-store', 'no-cache', 'must-revalidate', 'post-check=0', 'pre-check=0'], 'Content-Type' => ['application/json; charset=utf-8']], 'xml' => ['Content-Type' => ['text/xml; charset=utf-8']]]];
$filesystemAdapter = new Local('cache/'); $filesystem = new Filesystem($filesystemAdapter); $pool = new FilesystemCachePool($filesystem); $app->pipe(Middleware::ClientIp()->remote(false)); // required for AccessLog, Geolocate $app->pipe(Middleware::AccessLog($accessLog)->combined(true)); $app->pipe(Middleware::TrailingSlash(false)->redirect(301)); $app->pipe(Middleware::FormatNegotiator()); // required for Expires, Minify //$app->pipe(Middleware::Expires()); //$app->pipe(Middleware::Minify()); $app->pipe(Middleware::BlockSpam()); //$app->pipe(Middleware::PhpSession()->name('DetectorSessionId')); //$app->pipe(Middleware::Geolocate()->saveInSession(true)); //$app->pipe(Middleware::Cache($pool)); $app->pipe(Middleware::responseTime()); $app->pipeRoutingMiddleware(); $app->pipeDispatchMiddleware(); $cache = new File(array(File::DIR => 'cache/')); $app->get('/js/features.js', function (RequestInterface $request, ResponseInterface $response, callable $next) use($errorLog, $cache) { $response->withAddedHeader('content-type', 'application/x-javascript'); $response->getBody()->write(Modernizr::buildJs()); $detector = new Detector($cache, $errorLog); $cookieID = $detector->getCookieId($_SERVER); $response->getBody()->write(Modernizr::buildConvertJs($cookieID, '', false)); return $response; }); $app->get('/', function (RequestInterface $request, ResponseInterface $response, callable $next) use($errorLog, $cache) { $detector = new Detector($cache, $errorLog); // if this is a request from features.js.php don't run the build function $ua = $detector->build($_SERVER);