annotate vendor/ralouphie/getallheaders/src/getallheaders.php @ 19:fa3358dc1485 tip

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