Behavior of URLSession with http3RelayEndpoint Proxy config

Hi,

I am implementing the HTTP3 Relay server, and testing by the URLSession,

        let relayEndpoint = NWEndpoint.url(URL(string:"https://localhost:8002")!)
        let relayServer = ProxyConfiguration.RelayHop(
            http3RelayEndpoint: relayEndpoint,
            additionalHTTPHeaderFields: ["Proxy-Authorization":"Basic ***"]
        )
        let relayConfig = ProxyConfiguration(relayHops: [relayServer])
        
        let config = URLSessionConfiguration.default
        config.proxyConfigurations = [relayConfig]
        
        let s = URLSession(configuration: config)

I have implemented both the CONNECT method and CONNECT method with :protocol of CONNECT-UDP over HTTP/3.

If I enabled CONNECT-UDP only, when I try to connect some HTTP/3 URL like https://quic.aiortc.org/4, it works without problem. And URLSession will use the CONNECT-UDP to connect the UDP channel, throw which the URLSession will do the HTTP/3 request.

However, if i enabled both the CONNECT-UDP and CONNECT (for TCP tunnel), the URLSession seems wired. It first try to establish the tunnel for UDP using the CONNECT-UDP method, and then closed it. And finally, it created the TCP tunnel using the CONNECT method.

So is there any detailed document for the behavior of the behavior of URLSession with http3RelayEndpoint?

Thanks you.