From 512897effdde98abe517572c6fdca770e03f02ea Mon Sep 17 00:00:00 2001 From: PJ Dietz Date: Mon, 28 Jul 2014 12:43:29 -0400 Subject: [PATCH] Prefer apache_request_headers when reading request headers. Apache does not pass the Authorization header through to PHP as $_SERVER["HTTP_AUTHORIZATION"], so reading from $_SERVER is not viable with Apache. --- .idea/php.xml | 4 +--- src/pjdietz/WellRESTed/Request.php | 5 +++++ test/ApacheRequestHeadersTest.php | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 test/ApacheRequestHeadersTest.php diff --git a/.idea/php.xml b/.idea/php.xml index c096d39..f6e673a 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -1,5 +1,3 @@ - - - + diff --git a/src/pjdietz/WellRESTed/Request.php b/src/pjdietz/WellRESTed/Request.php index f0e77ba..11b54d7 100644 --- a/src/pjdietz/WellRESTed/Request.php +++ b/src/pjdietz/WellRESTed/Request.php @@ -91,6 +91,11 @@ class Request extends Message implements RequestInterface */ public static function getRequestHeaders() { + // Prefer apache_request_headers is available. + if (function_exists('apache_request_headers')) { + return apache_request_headers(); + } + // http://www.php.net/manual/en/function.getallheaders.php#84262 $headers = array(); foreach ($_SERVER as $name => $value) { diff --git a/test/ApacheRequestHeadersTest.php b/test/ApacheRequestHeadersTest.php new file mode 100644 index 0000000..e70d3b4 --- /dev/null +++ b/test/ApacheRequestHeadersTest.php @@ -0,0 +1,24 @@ +assertNotNull($headers); + } +}