1 |
efrain |
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 |
}
|