[f9c482b] | 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 | }
|
---|