@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); HttpClientRequest req = client.request(HttpMethod.GET, 8080, "localhost", "/"); req.toObservable(). // Status code check and -> Observable<Buffer> flatMap(resp -> { if (resp.statusCode() != 200) { throw new RuntimeException("Wrong status code " + resp.statusCode()); } return resp.toObservable(); }). subscribe(data -> System.out.println("Server content " + data.toString("UTF-8"))); // End request req.end(); } }
@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); client.put(8080, "localhost", "/", resp -> { System.out.println("Got response " + resp.statusCode()); resp.handler(buf -> System.out.println(buf.toString("UTF-8"))); }).setChunked(true).putHeader("Content-Type", "text/plain").write("hello").end(); } }
if (res.statusCode() != 200) { handler.handle(Future.failedFuture(new HttpException(res.statusCode(), res.statusMessage()))); return; int[] read = { 0 }; int[] lastOutput = { 0 }; String contentLength = res.getHeader("Content-Length"); if (contentLength != null) { length = Integer.parseInt(contentLength); res.exceptionHandler(t -> handler.handle(Future.failedFuture(t))); res.handler(buf -> { read[0] += buf.length(); if (lastOutput[0] == 0 || read[0] - lastOutput[0] > 1024 * 2048) { }); res.endHandler(v -> { logProgress(length, read[0]); handler.handle(Future.succeededFuture());
void sendDatapoint(String dbname, String msg) { LOG.trace("Sending measures length = {} Bytes ", msg.length()); this.http.post("/write?db=" + dbname, response -> { if (response.statusCode() >= 400) { LOG.warn("{} {}", response.statusCode(), response.statusMessage()); response.bodyHandler(data -> LOG.warn(data.toString())); } }).end(msg); }
@Test public void testHttpClient() { HttpServer server = vertx.createHttpServer(new HttpServerOptions().setPort(8080)); server.requestStream().handler(req -> { req.response().setChunked(true).end("some_content"); }); try { server.listen(ar -> { HttpClient client = vertx.createHttpClient(new HttpClientOptions()); client.rxGetNow(8080, "localhost", "/the_uri").subscribe(resp -> { Buffer content = Buffer.buffer(); Observable<Buffer> observable = resp.toObservable(); observable.forEach(content::appendBuffer, err -> fail(), () -> { assertEquals("some_content", content.toString("UTF-8")); testComplete(); }); }); }); await(); } finally { server.close(); } }
public static HttpClientResponse newInstance(io.vertx.core.http.HttpClientResponse arg) { return arg != null ? new HttpClientResponse(arg) : null; } }
public static HttpClientResponse newInstance(io.vertx.core.http.HttpClientResponse arg) { return arg != null ? new HttpClientResponse(arg) : null; } }
@Override public void start() throws Exception { HttpClient client = vertx.createHttpClient(); HttpClientRequest req = client.request(HttpMethod.GET, 8080, "localhost", "/"); req.toObservable(). // Status code check and -> Observable<Buffer> flatMap(resp -> { if (resp.statusCode() != 200) { throw new RuntimeException("Wrong status code " + resp.statusCode()); } return Observable.just(Buffer.buffer()).mergeWith(resp.toObservable()); }). // Reduce all buffers in a single buffer reduce(Buffer::appendBuffer). // Turn in to a string map(buffer -> buffer.toString("UTF-8")). // Get a single buffer subscribe(data -> System.out.println("Server content " + data)); // End request req.end(); } }