Version 1
[yaffs-website] / vendor / drush / drush / commands / runserver / d8-rs-router.php
diff --git a/vendor/drush/drush/commands/runserver/d8-rs-router.php b/vendor/drush/drush/commands/runserver/d8-rs-router.php
new file mode 100644 (file)
index 0000000..a0bfcb0
--- /dev/null
@@ -0,0 +1,33 @@
+<?php
+
+// Get a $_SERVER key, or equivalent environment variable
+// if it is not set in $_SERVER.
+function runserver_env($key) {
+  if (isset($_SERVER[$key])) {
+    return $_SERVER[$key];
+  }
+  else {
+    return getenv($key);
+  }
+}
+
+$url = parse_url($_SERVER["REQUEST_URI"]);
+if (file_exists('.' . $url['path'])) {
+  // Serve the requested resource as-is.
+  return FALSE;
+}
+
+// We set the base_url so that Drupal generates correct URLs for runserver
+// (e.g. http://127.0.0.1:8888/...), but can still select and serve a specific
+// site in a multisite configuration (e.g. http://mysite.com/...).
+$base_url = runserver_env('RUNSERVER_BASE_URL');
+
+// The built in webserver incorrectly sets $_SERVER['SCRIPT_NAME'] when URLs
+// contain multiple dots (such as config entity IDs) in the path. Since this is
+// a virtual resource, served by index.php set the script name explicitly.
+// See https://github.com/drush-ops/drush/issues/2033 for more information.
+$_SERVER['SCRIPT_NAME'] = '/index.php';
+
+// Include the main index.php and let Drupal take over.
+// n.b. Drush sets the cwd to the Drupal root during bootstrap.
+include 'index.php';