本文整理汇总了Java中io.vertx.rxjava.core.http.HttpServer.close方法的典型用法代码示例。如果您正苦于以下问题:Java HttpServer.close方法的具体用法?Java HttpServer.close怎么用?Java HttpServer.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.vertx.rxjava.core.http.HttpServer
的用法示例。
在下文中一共展示了HttpServer.close方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testObserverToFuture
import io.vertx.rxjava.core.http.HttpServer; //导入方法依赖的package包/类
@Test
public void testObserverToFuture() {
HttpServer server = vertx.createHttpServer(new HttpServerOptions().setPort(8080)).requestHandler(req -> {});
AtomicInteger count = new AtomicInteger();
Observer<HttpServer> observer = new Observer<HttpServer>() {
@Override
public void onCompleted() {
server.close();
assertEquals(1, count.get());
testComplete();
}
@Override
public void onError(Throwable e) {
fail(e.getMessage());
}
@Override
public void onNext(HttpServer httpServer) {
count.incrementAndGet();
}
};
Observable<HttpServer> onListen = server.listenObservable();
onListen.subscribe(observer);
await();
}
示例2: testHttpClient
import io.vertx.rxjava.core.http.HttpServer; //导入方法依赖的package包/类
@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.request(HttpMethod.GET, 8080, "localhost", "/the_uri", resp -> {
Buffer content = Buffer.buffer();
Observable<Buffer> observable = resp.toObservable();
observable.forEach(content::appendBuffer, err -> fail(), () -> {
assertEquals("some_content", content.toString("UTF-8"));
testComplete();
});
}).end();
});
await();
} finally {
server.close();
}
}
示例3: testGet
import io.vertx.rxjava.core.http.HttpServer; //导入方法依赖的package包/类
@Test
public void testGet() {
int times = 5;
waitFor(times);
HttpServer server = vertx.createHttpServer(new HttpServerOptions().setPort(8080));
server.requestStream().handler(req -> req.response().setChunked(true).end("some_content"));
try {
server.listen(ar -> {
client = WebClient.wrap(vertx.createHttpClient(new HttpClientOptions()));
Single<HttpResponse<Buffer>> single = client
.get(8080, "localhost", "/the_uri")
.as(BodyCodec.buffer())
.rxSend();
for (int i = 0; i < times; i++) {
single.subscribe(resp -> {
Buffer body = resp.body();
assertEquals("some_content", body.toString("UTF-8"));
complete();
}, this::fail);
}
});
await();
} finally {
server.close();
}
}
示例4: testPost
import io.vertx.rxjava.core.http.HttpServer; //导入方法依赖的package包/类
@Test
public void testPost() {
int times = 5;
waitFor(times);
HttpServer server = vertx.createHttpServer(new HttpServerOptions().setPort(8080));
server.requestStream().handler(req -> req.bodyHandler(buff -> {
assertEquals("onetwothree", buff.toString());
req.response().end();
}));
try {
server.listen(ar -> {
client = WebClient.wrap(vertx.createHttpClient(new HttpClientOptions()));
Observable<Buffer> stream = Observable.just(Buffer.buffer("one"), Buffer.buffer("two"), Buffer.buffer("three"));
Single<HttpResponse<Buffer>> single = client
.post(8080, "localhost", "/the_uri")
.rxSendStream(stream);
for (int i = 0; i < times; i++) {
single.subscribe(resp -> complete(), this::fail);
}
});
await();
} finally {
server.close();
}
}
示例5: testResponseMissingBody
import io.vertx.rxjava.core.http.HttpServer; //导入方法依赖的package包/类
@Test
public void testResponseMissingBody() throws Exception {
int times = 5;
waitFor(times);
HttpServer server = vertx.createHttpServer(new HttpServerOptions().setPort(8080));
server.requestStream().handler(req -> req.response().setStatusCode(403).end());
try {
server.listen(ar -> {
client = WebClient.wrap(vertx.createHttpClient(new HttpClientOptions()));
Single<HttpResponse<Buffer>> single = client
.get(8080, "localhost", "/the_uri")
.rxSend();
for (int i = 0; i < times; i++) {
single.subscribe(resp -> {
assertEquals(403, resp.statusCode());
assertNull(resp.body());
complete();
}, this::fail);
}
});
await();
} finally {
server.close();
}
}
示例6: testResponseBodyAsAsJsonMapped
import io.vertx.rxjava.core.http.HttpServer; //导入方法依赖的package包/类
@Test
public void testResponseBodyAsAsJsonMapped() throws Exception {
JsonObject expected = new JsonObject().put("cheese", "Goat Cheese").put("wine", "Condrieu");
HttpServer server = vertx.createHttpServer(new HttpServerOptions().setPort(8080));
server.requestStream().handler(req -> req.response().end(expected.encode()));
try {
server.listen(ar -> {
client = WebClient.wrap(vertx.createHttpClient(new HttpClientOptions()));
Single<HttpResponse<WineAndCheese>> single = client
.get(8080, "localhost", "/the_uri")
.as(BodyCodec.json(WineAndCheese.class))
.rxSend();
single.subscribe(resp -> {
assertEquals(200, resp.statusCode());
assertEquals(new WineAndCheese().setCheese("Goat Cheese").setWine("Condrieu"), resp.body());
testComplete();
}, this::fail);
});
await();
} finally {
server.close();
}
}