public/index.php line 35

Open in your IDE?
  1. <?php
  2. use App\Kernel;
  3. use Symfony\Component\Dotenv\Dotenv;
  4. use Symfony\Component\ErrorHandler\Debug;
  5. use Symfony\Component\HttpFoundation\Request;
  6. require dirname(__DIR__).'/vendor/autoload.php';
  7. (new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
  8. if ($_SERVER['APP_DEBUG']) {
  9.     umask(0000);
  10.     Debug::enable();
  11. }
  12. if ($trustedProxies $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) {
  13.     Request::setTrustedProxies(explode(','$trustedProxies), Request::HEADER_X_FORWARDED_ALL Request::HEADER_X_FORWARDED_HOST);
  14. }
  15. if ($trustedHosts $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) {
  16.     Request::setTrustedHosts([$trustedHosts]);
  17. }
  18. // ngrok proxies use this custom header
  19. // @see : https://symfony.com/doc/current/deployment/proxies.html
  20. if(isset($_SERVER['HTTP_X_ORIGINAL_HOST']) && !isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
  21.   $_SERVER['HTTP_X_FORWARDED_HOST'] = $_SERVER['HTTP_X_ORIGINAL_HOST'];
  22. }
  23. $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
  24. date_default_timezone_set('UTC');
  25. $request Request::createFromGlobals();
  26. $response $kernel->handle($request);
  27. // This is to show the debug toolbar when testing through ngrok
  28. if ($_SERVER['APP_DEBUG']) {
  29.   header('Access-Control-Allow-Origin: *');
  30.   header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
  31.   header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
  32.   header("Allow: GET, POST, OPTIONS, PUT, DELETE");
  33. }
  34. $response->send();
  35. $kernel->terminate($request$response);