/docs/src/test/java/docs/http/javadsl/Http2Test.java

https://github.com/akka/akka-http · Java · 49 lines · 28 code · 10 blank · 11 comment · 0 complexity · 8522148edb822a16f32a5e677619ad0b MD5 · raw file

  1. /*
  2. * Copyright (C) 2018-2020 Lightbend Inc. <https://www.lightbend.com>
  3. */
  4. package docs.http.javadsl;
  5. import java.util.concurrent.CompletableFuture;
  6. import java.util.concurrent.CompletionStage;
  7. import akka.actor.ActorSystem;
  8. import akka.http.javadsl.HttpsConnectionContext;
  9. import akka.http.javadsl.model.HttpRequest;
  10. import akka.http.javadsl.model.HttpResponse;
  11. import akka.japi.function.Function;
  12. import akka.stream.ActorMaterializer;
  13. import akka.stream.Materializer;
  14. //#bindAndHandleSecure
  15. import akka.http.javadsl.Http;
  16. import static akka.http.javadsl.ConnectHttp.toHostHttps;
  17. //#bindAndHandleSecure
  18. //#bindAndHandlePlain
  19. import static akka.http.javadsl.ConnectHttp.toHost;
  20. //#bindAndHandlePlain
  21. class Http2Test {
  22. void testBindAndHandleAsync() {
  23. Function<HttpRequest, CompletionStage<HttpResponse>> asyncHandler = r -> CompletableFuture.completedFuture(HttpResponse.create());
  24. ActorSystem system = ActorSystem.create();
  25. Materializer materializer = ActorMaterializer.create(system);
  26. HttpsConnectionContext httpsConnectionContext = null;
  27. //#bindAndHandleSecure
  28. Http.get(system)
  29. .newServerAt("127.0.0.1", 8443)
  30. .enableHttps(httpsConnectionContext)
  31. .bind(asyncHandler);
  32. //#bindAndHandleSecure
  33. //#bindAndHandlePlain
  34. Http.get(system)
  35. .newServerAt("127.0.0.1", 8443)
  36. .bind(asyncHandler);
  37. //#bindAndHandlePlain
  38. }
  39. }