- Improved HTTP Header parser (PHP)

- Improved log info in `logs/cron_truncateFiles.log`, added truncated *.log file names
- Fixed wrong return type for `UserModel::getSessionCharacterData()`, must be `array` not `null` (edge case)
This commit is contained in:
Mark Friedrich
2019-07-21 19:09:08 +02:00
parent c96291432e
commit 01a39ec251
4 changed files with 20 additions and 10 deletions

View File

@@ -870,7 +870,8 @@ class Controller {
*/
static function getRequestHeaders() : array {
$headers = [];
$headerPrefix = 'http_';
$prefixLength = mb_strlen($headerPrefix);
$serverData = self::getServerData();
if(
@@ -885,8 +886,9 @@ class Controller {
// Therefore we can´t use this for all servers
// https://github.com/exodus4d/pathfinder/issues/58
foreach($_SERVER as $name => $value){
if(substr($name, 0, 5) == 'HTTP_'){
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
$name = mb_strtolower($name);
if(mb_substr($name, 0, $prefixLength) == $headerPrefix){
$headers[mb_convert_case(str_replace('_', '-', mb_substr($name, $prefixLength)), MB_CASE_TITLE)] = $value;
}
}
}