private Request.Builder prepareRequest() {
        final Request.Builder builder = new Request.Builder();

        //Uri
        builder.url(constructRequestUrl());

        //method and body
        final Method m = (method != null ? method : (requestBodySupplier == null ? Method.GET : Method.POST));
        final Supplier<RequestBody> rbs = requestBodySupplier != null ? requestBodySupplier : () -> new FormBody.Builder().build();
        switch (m) {
            case POST:
                builder.post(rbs.get());
                break;
            case PATCH:
                builder.patch(rbs.get());
                break;
            case PUT:
                builder.put(rbs.get());
                break;
            case GET:
            default:
                builder.get();
                break;
        }

        //header
        for (final ImmutablePair<String, String> header : headers) {
            builder.header(header.left, header.right);
        }

        return builder;
    }
Returns request url. Meant for logging purposes etc
main/src/main/java/cgeo/geocaching/network/HttpRequest.java