当前位置: 首页>>代码示例>>Java>>正文


Java WebClient.create方法代码示例

本文整理汇总了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();
            }
        });
}
 
开发者ID:jponge,项目名称:oracle-javamag-vertx-rxjava,代码行数:26,代码来源:BestOfferServiceVerticle.java

示例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();
        }
      });
}
 
开发者ID:Cognifide,项目名称:knotx,代码行数:25,代码来源:KnotxServerCsrfTest.java

示例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();
        }
      });
}
 
开发者ID:Cognifide,项目名称:knotx,代码行数:25,代码来源:KnotxServerCsrfTest.java

示例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);
}
 
开发者ID:jponge,项目名称:oracle-javamag-vertx-rxjava,代码行数:28,代码来源:RXTwitterFeedApplication.java

示例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();
        }
      }
  );
}
 
开发者ID:Cognifide,项目名称:knotx,代码行数:29,代码来源:KnotxServerCsrfTest.java

示例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();
        }
      });
}
 
开发者ID:Cognifide,项目名称:knotx,代码行数:37,代码来源:KnotxServerCsrfTest.java

示例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));
}
 
开发者ID:Cognifide,项目名称:knotx,代码行数:6,代码来源:HttpServiceAdapterProxyImpl.java

示例8: webClient

import io.vertx.reactivex.ext.web.client.WebClient; //导入方法依赖的package包/类
private WebClient webClient() {
  return WebClient.create(Vertx.newInstance(vertx.vertx()));
}
 
开发者ID:Cognifide,项目名称:knotx,代码行数:4,代码来源:HttpClientFacadeTest.java


注:本文中的io.vertx.reactivex.ext.web.client.WebClient.create方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。