private static URI uri(ServiceRequestContext ctx, HttpRequest req) {
        final String scheme = req.scheme();
        final String authority = req.authority();
        // Server side Armeria HTTP request always has the scheme and authority.
        assert scheme != null;
        assert authority != null;
        final RequestTarget requestTarget = ctx.routingContext().requestTarget();
        String path = requestTarget.maybePathWithMatrixVariables();
        if (requestTarget.query() != null) {
            path = path + '?' + requestTarget.query();
        }
        return URI.create(scheme + "://" + authority + path);
    }
A {@link ServerHttpRequest} implementation for the Armeria HTTP server.
spring/boot3-webflux-autoconfigure/src/main/java/com/linecorp/armeria/spring/web/reactive/ArmeriaServerHttpRequest.java