@Nullable
    private static RequestTarget slowAbsoluteFormForClient(String reqTarget, int authorityPos) {
        // Extract scheme and authority while looking for path.
        final SchemeAndAuthority schemeAndAuthority;
        final String scheme = reqTarget.substring(0, authorityPos - 3);
        final int nextPos = findNextComponent(reqTarget, authorityPos);
        final String authority;
        if (nextPos < 0) {
            // Found no other components after authority
            authority = reqTarget.substring(authorityPos);
        } else {
            // Path, query or fragment exists.
            authority = reqTarget.substring(authorityPos, nextPos);
        }

        // Reject a URI with an empty authority.
        if (authority.isEmpty()) {
            return null;
        }

        try {
            // Normalize scheme and authority.
            schemeAndAuthority = SchemeAndAuthority.of(scheme, authority);
        } catch (Exception ignored) {
            // Invalid scheme or authority.
            return null;
        }

        if (nextPos < 0) {
            return newAbsoluteTarget(schemeAndAuthority, "/", null, null);
        }

        return slowForClient(reqTarget, schemeAndAuthority, nextPos);
    }
Marks this {@link RequestTarget} as stored in {@link RequestTargetCache} so that it doesn't
try to store again.
core/src/main/java/com/linecorp/armeria/internal/common/DefaultRequestTarget.java