googleanalytics
/
lib
/
analytics-admin
/
vendor
/
ralouphie
/
getallheaders
/
src
/
getallheaders.php
getallheaders.php
47 lines
| 1 | <?php |
| 2 | |
| 3 | if (!function_exists('getallheaders')) { |
| 4 | |
| 5 | /** |
| 6 | * Get all HTTP header key/values as an associative array for the current request. |
| 7 | * |
| 8 | * @return string[string] The HTTP header key/value pairs. |
| 9 | */ |
| 10 | function getallheaders() |
| 11 | { |
| 12 | $headers = array(); |
| 13 | |
| 14 | $copy_server = array( |
| 15 | 'CONTENT_TYPE' => 'Content-Type', |
| 16 | 'CONTENT_LENGTH' => 'Content-Length', |
| 17 | 'CONTENT_MD5' => 'Content-Md5', |
| 18 | ); |
| 19 | |
| 20 | foreach ($_SERVER as $key => $value) { |
| 21 | if (substr($key, 0, 5) === 'HTTP_') { |
| 22 | $key = substr($key, 5); |
| 23 | if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { |
| 24 | $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key)))); |
| 25 | $headers[$key] = $value; |
| 26 | } |
| 27 | } elseif (isset($copy_server[$key])) { |
| 28 | $headers[$copy_server[$key]] = $value; |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | if (!isset($headers['Authorization'])) { |
| 33 | if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { |
| 34 | $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; |
| 35 | } elseif (isset($_SERVER['PHP_AUTH_USER'])) { |
| 36 | $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; |
| 37 | $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); |
| 38 | } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { |
| 39 | $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | return $headers; |
| 44 | } |
| 45 | |
| 46 | } |
| 47 |