private function resetPath(Http\Request $request)
    {
        if (! $this->removed) {
            return $request;
        }

        $uri  = $request->getUri();
        $path = $uri->getPath();

        if (strlen($path) >= strlen($this->removed)
            && 0 === strpos($path, $this->removed)
        ) {
            $path = str_replace($this->removed, '', $path);
        }

        $resetPath = $this->removed . $path;

        // Strip trailing slash if current path does not contain it and
        // original path did not have it
        if ('/' === $path && '/' !== substr($this->removed, -1)) {
            $resetPath = rtrim($resetPath, '/');
        }

        // Normalize to remove double-slashes
        $resetPath = str_replace('//', '/', $resetPath);

        $new  = $uri->withPath($resetPath);
        $this->removed = '';
        return $request->withUri($new);
    }
private function resetPath(Http\Request $request)
    {
        if (! $this->removed) {
            return $request;
        }

        $uri  = $request->getUri();
        $path = $uri->getPath();

        if (strlen($path) >= strlen($this->removed)
            && 0 === strpos($path, $this->removed)
        ) {
            $path = str_replace($this->removed, '', $path);
        }

        $resetPath = $this->removed . $path;

        // Strip trailing slash if current path does not contain it and
        // original path did not have it
        if ('/' === $path && '/' !== substr($this->removed, -1)) {
            $resetPath = rtrim($resetPath, '/');
        }

        // Normalize to remove double-slashes
        $resetPath = str_replace('//', '/', $resetPath);

        $new  = $uri->withPath($resetPath);
        $this->removed = '';
        return $request->withUri($new);
    }
private function resetPath ( Http \ Request $ request ) { if ( ! $ this -> removed ) { return $ request ; } $ uri = $ request -> getUri ( ) ; $ path = $ uri -> getPath ( ) ; if ( strlen ( $ path ) >= strlen ( $ this -> removed ) && 0 === strpos ( $ path , $ this -> removed ) ) { $ path = str_replace ( $ this -> removed , '' , $ path ) ; } $ resetPath = $ this -> removed . $ path ; // Strip trailing slash if current path does not contain it and // original path did not have it if ( '/' === $ path && '/' !== substr ( $ this -> removed , - 1 ) ) { $ resetPath = rtrim ( $ resetPath , '/' ) ; } // Normalize to remove double-slashes $ resetPath = str_replace ( '//' , '/' , $ resetPath ) ; $ new = $ uri -> withPath ( $ resetPath ) ; $ this -> removed = '' ; return $ request -> withUri ( $ new ) ; }
Reset the path, if a segment was previously stripped

@param Http\Request $request
@return Http\Request
Reset the path if a segment was previously stripped