jvm Vert.x httpClient/webClient逐块或以流形式处理响应

yptwkmov  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(114)

我有一个带有vert.x和asyncHttpClient的应用程序。我想用vert.x httpClient(webClient)来替换asyncHttpClient,但是我需要有能力通过数据块或小部分数据(比如在AsyncHttpClient中的org.asynchttpclient.AsyncHandler)或像流一样处理响应。这可能吗?我看了自定义的BodyCodec,但是我不能理解自定义的WriteStream中的数据流。

aiazj4mn

aiazj4mn1#

使用Vert.x Web Client(专为缓冲响应而设计)无法轻松完成此操作。
不过,您可以使用Vert.x Http客户端执行此操作:

client.request(HttpMethod.GET, "some-uri", ar1 -> {

  if (ar1.succeeded()) {
    HttpClientRequest request = ar1.result();
    request.send(ar2 -> {
      HttpClientResponse response = ar2.result();
      response.handler(buffer -> {
        System.out.println("Received a part of the response body: " + buffer);
      });
    });
  }
});

相关问题