src/Cortex/Uri/PsrUri.php
private function marshallPathFromServer()
    {
        $get = function ($key, array $values, $default = null) {
            return array_key_exists($key, $values) ? $values[$key] : $default;
        };

        // IIS7 with URL Rewrite: make sure we get the unencoded url
        // (double slash problem).
        $iisUrlRewritten = $get('IIS_WasUrlRewritten', $this->server);
        $unencodedUrl = $get('UNENCODED_URL', $this->server, '');
        if ('1' == $iisUrlRewritten && ! empty($unencodedUrl)) {
            return $unencodedUrl;
        }

        $requestUri = $get('REQUEST_URI', $this->server);

        // Check this first so IIS will catch.
        $httpXRewriteUrl = $get('HTTP_X_REWRITE_URL', $this->server);
        if ($httpXRewriteUrl !== null) {
            $requestUri = $httpXRewriteUrl;
        }

        // Check for IIS 7.0 or later with ISAPI_Rewrite
        $httpXOriginalUrl = $get('HTTP_X_ORIGINAL_URL', $this->server);
        if ($httpXOriginalUrl !== null) {
            $requestUri = $httpXOriginalUrl;
        }

        if ($requestUri !== null) {
            return preg_replace('#^[^/:]+://[^/]+#', '', $requestUri);
        }

        $origPathInfo = $get('ORIG_PATH_INFO', $this->server);

        return empty($origPathInfo) ? '/' : $origPathInfo;
    }
private function marshallPathFromServer()
    {
        $get = function ($key, array $values, $default = null) {
            return array_key_exists($key, $values) ? $values[$key] : $default;
        };

        // IIS7 with URL Rewrite: make sure we get the unencoded url
        // (double slash problem).
        $iisUrlRewritten = $get('IIS_WasUrlRewritten', $this->server);
        $unencodedUrl = $get('UNENCODED_URL', $this->server, '');
        if ('1' == $iisUrlRewritten && ! empty($unencodedUrl)) {
            return $unencodedUrl;
        }

        $requestUri = $get('REQUEST_URI', $this->server);

        // Check this first so IIS will catch.
        $httpXRewriteUrl = $get('HTTP_X_REWRITE_URL', $this->server);
        if ($httpXRewriteUrl !== null) {
            $requestUri = $httpXRewriteUrl;
        }

        // Check for IIS 7.0 or later with ISAPI_Rewrite
        $httpXOriginalUrl = $get('HTTP_X_ORIGINAL_URL', $this->server);
        if ($httpXOriginalUrl !== null) {
            $requestUri = $httpXOriginalUrl;
        }

        if ($requestUri !== null) {
            return preg_replace('#^[^/:]+://[^/]+#', '', $requestUri);
        }

        $origPathInfo = $get('ORIG_PATH_INFO', $this->server);

        return empty($origPathInfo) ? '/' : $origPathInfo;
    }
private function marshallPathFromServer ( ) { $ get = function ( $ key , array $ values , $ default = null ) { return array_key_exists ( $ key , $ values ) ? $ values [ $ key ] : $ default ; } ; // IIS7 with URL Rewrite: make sure we get the unencoded url // (double slash problem). $ iisUrlRewritten = $ get ( 'IIS_WasUrlRewritten' , $ this -> server ) ; $ unencodedUrl = $ get ( 'UNENCODED_URL' , $ this -> server , '' ) ; if ( '1' == $ iisUrlRewritten && ! empty ( $ unencodedUrl ) ) { return $ unencodedUrl ; } $ requestUri = $ get ( 'REQUEST_URI' , $ this -> server ) ; // Check this first so IIS will catch. $ httpXRewriteUrl = $ get ( 'HTTP_X_REWRITE_URL' , $ this -> server ) ; if ( $ httpXRewriteUrl !== null ) { $ requestUri = $ httpXRewriteUrl ; } // Check for IIS 7.0 or later with ISAPI_Rewrite $ httpXOriginalUrl = $ get ( 'HTTP_X_ORIGINAL_URL' , $ this -> server ) ; if ( $ httpXOriginalUrl !== null ) { $ requestUri = $ httpXOriginalUrl ; } if ( $ requestUri !== null ) { return preg_replace ( '#^[^/:]+://[^/]+#' , '' , $ requestUri ) ; } $ origPathInfo = $ get ( 'ORIG_PATH_INFO' , $ this -> server ) ; return empty ( $ origPathInfo ) ? '/' : $ origPathInfo ; }
Parse server array to find url path.

Contains code from Zend\Diactoros\ServerRequestFactory

@copyright Copyright (c) 2015 Zend Technologies USA Inc. (http://www.zend.com)
@license   https://github.com/zendframework/zend-diactoros/blob/master/LICENSE.md New BSD
License

@return string
Parse server array to find url path .