47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if (!function_exists('getallheaders')) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Get all HTTP header key/values as an associative array for the current request.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @return string[string] The HTTP header key/value pairs.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    function getallheaders()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $headers = array();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $copy_server = array(
							 | 
						||
| 
								 | 
							
								            'CONTENT_TYPE'   => 'Content-Type',
							 | 
						||
| 
								 | 
							
								            'CONTENT_LENGTH' => 'Content-Length',
							 | 
						||
| 
								 | 
							
								            'CONTENT_MD5'    => 'Content-Md5',
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        foreach ($_SERVER as $key => $value) {
							 | 
						||
| 
								 | 
							
								            if (substr($key, 0, 5) === 'HTTP_') {
							 | 
						||
| 
								 | 
							
								                $key = substr($key, 5);
							 | 
						||
| 
								 | 
							
								                if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) {
							 | 
						||
| 
								 | 
							
								                    $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key))));
							 | 
						||
| 
								 | 
							
								                    $headers[$key] = $value;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            } elseif (isset($copy_server[$key])) {
							 | 
						||
| 
								 | 
							
								                $headers[$copy_server[$key]] = $value;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (!isset($headers['Authorization'])) {
							 | 
						||
| 
								 | 
							
								            if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
							 | 
						||
| 
								 | 
							
								                $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
							 | 
						||
| 
								 | 
							
								            } elseif (isset($_SERVER['PHP_AUTH_USER'])) {
							 | 
						||
| 
								 | 
							
								                $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
							 | 
						||
| 
								 | 
							
								                $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass);
							 | 
						||
| 
								 | 
							
								            } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) {
							 | 
						||
| 
								 | 
							
								                $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST'];
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $headers;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |