本文整理汇总了Java中io.vertx.reactivex.ext.web.client.WebClient.create方法的典型用法代码示例。如果您正苦于以下问题:Java WebClient.create方法的具体用法?Java WebClient.create怎么用?Java WebClient.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类io.vertx.reactivex.ext.web.client.WebClient
的用法示例。
在下文中一共展示了WebClient.create方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: start
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
@Override
public void start(Future<Void> startFuture) throws Exception {
webClient = WebClient.create(vertx);
targets = config().getJsonArray("targets",
DEFAULT_TARGETS)
.stream()
.map(JsonObject.class::cast)
.collect(Collectors.toList());
vertx.createHttpServer()
.requestHandler(this::findBestOffer)
.rxListen(8080)
.subscribe((server, error) -> {
if (error != null) {
logger.error("Could not start the best offer " +
"service", error);
startFuture.fail(error);
} else {
logger.info("The best offer service is running " +
"on port 8080");
startFuture.complete();
}
});
}
示例2: whenDoPostSecureWithoutCSRF_expectForbidden
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
@Test
@KnotxConfiguration("test-server-csrf.json")
public void whenDoPostSecureWithoutCSRF_expectForbidden(
TestContext context) {
Async async = context.async();
createPassThroughKnot("test-splitter");
createPassThroughKnot("test-assembler");
createSimpleKnot("some-knot", "test", null);
MultiMap body = MultiMap.caseInsensitiveMultiMap().add("field", "value");
WebClient client = WebClient.create(Vertx.newInstance(vertx.vertx()));
client.post(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html")
.sendForm(body, ar -> {
if (ar.succeeded()) {
context.assertEquals(HttpResponseStatus.FORBIDDEN.code(), ar.result().statusCode());
async.complete();
} else {
context.fail(ar.cause());
async.complete();
}
});
}
示例3: whenDoPostPublicWithoutCSRF_expectOk
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
@Test
@KnotxConfiguration("test-server-csrf.json")
public void whenDoPostPublicWithoutCSRF_expectOk(
TestContext context) {
Async async = context.async();
createPassThroughKnot("test-splitter");
createPassThroughKnot("test-assembler");
createSimpleKnot("some-knot", "test", null);
MultiMap body = MultiMap.caseInsensitiveMultiMap().add("field", "value");
WebClient client = WebClient.create(Vertx.newInstance(vertx.vertx()));
client.post(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/public.html")
.sendForm(body, ar -> {
if (ar.succeeded()) {
context.assertEquals(HttpResponseStatus.OK.code(), ar.result().statusCode());
async.complete();
} else {
context.fail(ar.cause());
async.complete();
}
});
}
示例4: main
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
public static void main(String[] args) {
Vertx vertx = Vertx.vertx();
WebClient client = WebClient.create(vertx);
HttpServer server = vertx.createHttpServer();
server
// 1 - Transform the sequence of request into a stream
.requestStream().toFlowable()
// 2 - For each request, call the twitter API
.flatMapCompletable(req ->
client.getAbs("https://twitter.com/vertx_project")
.rxSend()
// 3 - Extract the body as string
.map(HttpResponse::bodyAsString)
// 4 - In case of a failure
.onErrorReturn(t -> "Cannot access the twitter " +
"feed: " + t.getMessage())
// 5 - Write the response
.doOnSuccess(res -> req.response().end(res))
// 6 - Just transform the restul into a completable
.toCompletable()
)
// 7 - Never forget to subscribe to a reactive type,
// or nothing happens
.subscribe();
server.listen(8080);
}
示例5: whenRequestingGetLocalPath_expectLocalAC
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
@Test
@KnotxConfiguration("test-server-csrf.json")
public void whenRequestingGetLocalPath_expectLocalAC(TestContext context) {
Async async = context.async();
createPassThroughKnot("test-splitter");
createPassThroughKnot("test-assembler");
createSimpleKnot("some-knot", "test", null);
WebClient client = WebClient.create(Vertx.newInstance(vertx.vertx()));
client.get(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html").send(
ar -> {
if (ar.succeeded()) {
context.assertEquals(HttpResponseStatus.OK.code(), ar.result().statusCode());
context.assertTrue(ar.result().getHeader(EXPECTED_RESPONSE_HEADER) != null);
context.assertEquals(EXPECTED_XSERVER_HEADER_VALUE,
ar.result().getHeader(EXPECTED_RESPONSE_HEADER));
context.assertTrue(ar.result().cookies().stream()
.anyMatch(cookie -> cookie.contains(CSRFHandler.DEFAULT_COOKIE_NAME)));
client.close();
async.complete();
} else {
context.fail(ar.cause());
async.complete();
}
}
);
}
示例6: whenDoPostSecureWithCSRF_expectOK
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
@Test
@KnotxConfiguration("test-server-csrf.json")
public void whenDoPostSecureWithCSRF_expectOK(
TestContext context) {
Async async = context.async();
createPassThroughKnot("test-splitter");
createPassThroughKnot("test-assembler");
createSimpleKnot("some-knot", "test", null);
MultiMap body = MultiMap.caseInsensitiveMultiMap().add("field", "value");
WebClient client = WebClient.create(Vertx.newInstance(vertx.vertx()));
client.get(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html").send(
ar -> {
if (ar.succeeded()) {
String token = getToken(ar.result().cookies());
client.post(KNOTX_SERVER_PORT, KNOTX_SERVER_ADDRESS, "/content/local/simple.html")
.putHeader(CSRFHandler.DEFAULT_HEADER_NAME, token)
.sendForm(body, res -> {
if (res.succeeded()) {
context.assertEquals(HttpResponseStatus.OK.code(), res.result().statusCode());
async.complete();
} else {
context.fail(ar.cause());
async.complete();
}
});
} else {
context.fail(ar.cause());
async.complete();
}
});
}
示例7: getWebClient
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
private WebClient getWebClient(Vertx vertx, HttpAdapterConfiguration configuration) {
JsonObject clientOptions = configuration.getClientOptions();
return clientOptions.isEmpty() ? WebClient.create(vertx) :
WebClient.create(vertx, new WebClientOptions(clientOptions));
}
示例8: webClient
import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
private WebClient webClient() {
return WebClient.create(Vertx.newInstance(vertx.vertx()));
}