137748cd8SNickeau<?php 237748cd8SNickeau 337748cd8SNickeau 437748cd8SNickeaunamespace ComboStrap; 537748cd8SNickeau 637748cd8SNickeau 737748cd8SNickeauclass Http 837748cd8SNickeau{ 937748cd8SNickeau 10*1fa8c418SNickeau public static function removeHeaderIfPresent(string $key) 11*1fa8c418SNickeau { 12*1fa8c418SNickeau foreach (headers_list() as $header) { 13*1fa8c418SNickeau if (preg_match("/$key/i", $header)) { 14*1fa8c418SNickeau header_remove($key); 15*1fa8c418SNickeau } 16*1fa8c418SNickeau } 17*1fa8c418SNickeau 18*1fa8c418SNickeau } 19*1fa8c418SNickeau 20*1fa8c418SNickeau public static function getHeader(string $name) 21*1fa8c418SNickeau { 22*1fa8c418SNickeau 23*1fa8c418SNickeau $result = array(); 24*1fa8c418SNickeau foreach (self::getHeaders() as $header) { 25*1fa8c418SNickeau if (substr($header, 0, strlen($name) + 1) == $name . ':') { 26*1fa8c418SNickeau $result[] = $header; 27*1fa8c418SNickeau } 28*1fa8c418SNickeau } 29*1fa8c418SNickeau 30*1fa8c418SNickeau return count($result) == 1 ? $result[0] : $result; 31*1fa8c418SNickeau 32*1fa8c418SNickeau } 33*1fa8c418SNickeau 34*1fa8c418SNickeau private static function getHeaders(): array 35*1fa8c418SNickeau { 36*1fa8c418SNickeau return (function_exists('xdebug_get_headers') ? xdebug_get_headers() : headers_list()); 37*1fa8c418SNickeau } 3837748cd8SNickeau} 39