src/Env.php
public static function normalize($env)
    {
        $env += ['PHP_SAPI' => PHP_SAPI];

        if (isset($env['SCRIPT_URI'])) {
            $env['HTTPS'] = strpos($env['SCRIPT_URI'], 'https://') === 0;
        } elseif (isset($env['HTTPS'])) {
            $env['HTTPS'] = (!empty($env['HTTPS']) && $env['HTTPS'] !== 'off');
        }

        if (isset($env['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
            $env['REQUEST_METHOD'] = $env['HTTP_X_HTTP_METHOD_OVERRIDE'];
        }

        if (isset($env['REDIRECT_HTTP_AUTHORIZATION'])) {
            $env['HTTP_AUTHORIZATION'] = $env['REDIRECT_HTTP_AUTHORIZATION'];
        }

        foreach (['HTTP_X_FORWARDED_FOR', 'HTTP_PC_REMOTE_ADDR', 'HTTP_X_REAL_IP'] as $key) {
            if (isset($env[$key])) {
                $addrs = explode(', ', $env[$key]);
                $env['REMOTE_ADDR'] = reset($addrs);
                break;
            }
        }

        if (empty($env['SERVER_ADDR']) && !empty($env['LOCAL_ADDR'])) {
            $env['SERVER_ADDR'] = $env['LOCAL_ADDR'];
        }

        if ($env['PHP_SAPI'] === 'isapi' && isset($env['PATH_TRANSLATED']) && isset($env['SCRIPT_NAME'])) {
            $env['SCRIPT_FILENAME'] = str_replace('\\\\', '\\', $env['PATH_TRANSLATED']);
            $env['DOCUMENT_ROOT'] = substr($env['SCRIPT_FILENAME'], 0, -strlen($env['SCRIPT_NAME']));
        }

        return $env;
    }
public static function normalize($env)
    {
        $env += ['PHP_SAPI' => PHP_SAPI];

        if (isset($env['SCRIPT_URI'])) {
            $env['HTTPS'] = strpos($env['SCRIPT_URI'], 'https://') === 0;
        } elseif (isset($env['HTTPS'])) {
            $env['HTTPS'] = (!empty($env['HTTPS']) && $env['HTTPS'] !== 'off');
        }

        if (isset($env['HTTP_X_HTTP_METHOD_OVERRIDE'])) {
            $env['REQUEST_METHOD'] = $env['HTTP_X_HTTP_METHOD_OVERRIDE'];
        }

        if (isset($env['REDIRECT_HTTP_AUTHORIZATION'])) {
            $env['HTTP_AUTHORIZATION'] = $env['REDIRECT_HTTP_AUTHORIZATION'];
        }

        foreach (['HTTP_X_FORWARDED_FOR', 'HTTP_PC_REMOTE_ADDR', 'HTTP_X_REAL_IP'] as $key) {
            if (isset($env[$key])) {
                $addrs = explode(', ', $env[$key]);
                $env['REMOTE_ADDR'] = reset($addrs);
                break;
            }
        }

        if (empty($env['SERVER_ADDR']) && !empty($env['LOCAL_ADDR'])) {
            $env['SERVER_ADDR'] = $env['LOCAL_ADDR'];
        }

        if ($env['PHP_SAPI'] === 'isapi' && isset($env['PATH_TRANSLATED']) && isset($env['SCRIPT_NAME'])) {
            $env['SCRIPT_FILENAME'] = str_replace('\\\\', '\\', $env['PATH_TRANSLATED']);
            $env['DOCUMENT_ROOT'] = substr($env['SCRIPT_FILENAME'], 0, -strlen($env['SCRIPT_NAME']));
        }

        return $env;
    }
public static function normalize ( $ env ) { $ env += [ 'PHP_SAPI' => PHP_SAPI ] ; if ( isset ( $ env [ 'SCRIPT_URI' ] ) ) { $ env [ 'HTTPS' ] = strpos ( $ env [ 'SCRIPT_URI' ] , 'https://' ) === 0 ; } elseif ( isset ( $ env [ 'HTTPS' ] ) ) { $ env [ 'HTTPS' ] = ( ! empty ( $ env [ 'HTTPS' ] ) && $ env [ 'HTTPS' ] !== 'off' ) ; } if ( isset ( $ env [ 'HTTP_X_HTTP_METHOD_OVERRIDE' ] ) ) { $ env [ 'REQUEST_METHOD' ] = $ env [ 'HTTP_X_HTTP_METHOD_OVERRIDE' ] ; } if ( isset ( $ env [ 'REDIRECT_HTTP_AUTHORIZATION' ] ) ) { $ env [ 'HTTP_AUTHORIZATION' ] = $ env [ 'REDIRECT_HTTP_AUTHORIZATION' ] ; } foreach ( [ 'HTTP_X_FORWARDED_FOR' , 'HTTP_PC_REMOTE_ADDR' , 'HTTP_X_REAL_IP' ] as $ key ) { if ( isset ( $ env [ $ key ] ) ) { $ addrs = explode ( ', ' , $ env [ $ key ] ) ; $ env [ 'REMOTE_ADDR' ] = reset ( $ addrs ) ; break ; } } if ( empty ( $ env [ 'SERVER_ADDR' ] ) && ! empty ( $ env [ 'LOCAL_ADDR' ] ) ) { $ env [ 'SERVER_ADDR' ] = $ env [ 'LOCAL_ADDR' ] ; } if ( $ env [ 'PHP_SAPI' ] === 'isapi' && isset ( $ env [ 'PATH_TRANSLATED' ] ) && isset ( $ env [ 'SCRIPT_NAME' ] ) ) { $ env [ 'SCRIPT_FILENAME' ] = str_replace ( '\\\\' , '\\' , $ env [ 'PATH_TRANSLATED' ] ) ; $ env [ 'DOCUMENT_ROOT' ] = substr ( $ env [ 'SCRIPT_FILENAME' ] , 0 , - strlen ( $ env [ 'SCRIPT_NAME' ] ) ) ; } return $ env ; }
Normalizes a couple of well known PHP environment variables.

@param  array $env Some `$_SERVER` environment variables array.
@return            The normalized variables.
Normalizes a couple of well known PHP environment variables .