private URI calculateUri()

in module/geb-core/src/main/groovy/geb/Browser.groovy [1114:1137]


    private URI calculateUri(String path, Map params, UrlFragment fragment) {
        def absolute = calculateAbsoluteUri(path)

        def effectiveFragment = urlFragmentEscaper().escape(fragment?.toString() ?: "") ?: absolute.rawFragment

        if (absolute.opaque) {
            new URI(absolute.scheme, absolute.schemeSpecificPart, effectiveFragment)
        } else {
            def uriStringBuilder = new StringBuilder() << new URI(
                absolute.scheme, absolute.userInfo, absolute.host, absolute.port, absolute.path, null, null
            )

            def queryString = [absolute.rawQuery, toQueryString(params)].findAll().join(QUERY_STRING_SEPARATOR) ?: null
            if (queryString) {
                uriStringBuilder << "?" << queryString
            }

            if (effectiveFragment) {
                uriStringBuilder << "#" << effectiveFragment
            }

            new URI(uriStringBuilder.toString())
        }
    }