4.6.2.3.3. net ソケットメソッドを使用した HTTP クライアントトンネリング
HTTP トンネルは、HttpClientResponse.netSocket()
メソッドを使用して作成できます。Eclipse Vert.x 4 では、このメソッドが更新されました。
要求の接続に net ソケットを取得するには、要求でソケットハンドラーを送信します。ハンドラーは、HTTP 応答ヘッダーの受信時に呼び出されます。ソケットはトンネリングの準備ができ、バッファーの送受信が可能です。
以下の例は、Eclipse Vert.x 3.x リリースで接続の net ソケットを取得する方法を示しています。
client.request(HttpMethod.CONNECT, uri, ar -> { if (ar.succeeded()) { HttpClientResponse response = ar.result(); if (response.statusCode() == 200) { NetSocket so = response.netSocket(); } } }).end();
以下の例は、Eclipse Vert.x 4 で接続の net ソケットを取得する方法を示しています。
client.request(HttpMethod.CONNECT, uri, ar -> { }).netSocket(ar -> { if (ar.succeeded()) { // Got a response with a 200 status code NetSocket so = ar.result(); // Go for tunneling } }).end();