@VisibleForTesting
    Cookie ensureDomainAndPath(Cookie cookie, URI uri) {
        final boolean validDomain = !Strings.isNullOrEmpty(cookie.domain());
        final String cookiePath = cookie.path();
        final boolean validPath = !Strings.isNullOrEmpty(cookiePath) && cookiePath.charAt(0) == '/';
        if (validDomain && validPath) {
            return cookie;
        }
        final CookieBuilder cb = cookie.toBuilder();
        if (!validDomain) {
            cb.domain(uri.getHost()).hostOnly(true);
        }
        if (!validPath) {
            String path = uri.getPath();
            if (path.isEmpty()) {
                path = "/";
            } else {
                final int i = path.lastIndexOf('/');
                if (i > 0) {
                    path = path.substring(0, i);
                }
            }
            cb.path(path);
        }
        return cb.build();
    }
Ensures this cookie has domain and path attributes, otherwise sets them to default values. If domain
is absent, the default is the request host, with {@code host-only} flag set to {@code true}. If path is
absent, the default is computed from the request path. See RFC 6265
<a href="https://datatracker.ietf.org/doc/html/rfc6265#section-5.3">5.3</a> and
<a href="https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.4">5.1.4</a>
core/src/main/java/com/linecorp/armeria/client/cookie/DefaultCookieJar.java