/docs/src/test/scala/docs/http/scaladsl/server/AkkaHttp1020MigrationSpec.scala

https://github.com/akka/akka-http · Scala · 47 lines · 28 code · 7 blank · 12 comment · 0 complexity · cfabb06d2fbba102b82669a3db380e22 MD5 · raw file

  1. /*
  2. * Copyright (C) 2020 Lightbend Inc. <https://www.lightbend.com>
  3. */
  4. package docs.http.scaladsl.server
  5. import akka.actor.typed.scaladsl.Behaviors
  6. import akka.http.scaladsl.Http
  7. import akka.http.scaladsl.server.Route
  8. import akka.stream.{ ActorMaterializer, Materializer }
  9. import com.github.ghik.silencer.silent
  10. @silent("since 10.2.0")
  11. @silent("method apply in object ActorMaterializer is deprecated")
  12. class AkkaHttp1020MigrationSpec {
  13. import akka.http.scaladsl.server.Directives._
  14. {
  15. //#old-binding
  16. // only worked with classic actor system
  17. implicit val system = akka.actor.ActorSystem("TheSystem")
  18. implicit val mat: Materializer = ActorMaterializer()
  19. val route: Route =
  20. get {
  21. complete("Hello world")
  22. }
  23. Http().bindAndHandle(route, "localhost", 8080)
  24. //#old-binding
  25. }
  26. {
  27. //#new-binding
  28. // works with both classic and typed ActorSystem
  29. implicit val system = akka.actor.typed.ActorSystem(Behaviors.empty, "TheSystem")
  30. // or
  31. // implicit val system = akka.actor.ActorSystem("TheSystem")
  32. // materializer not needed any more
  33. val route: Route =
  34. get {
  35. complete("Hello world")
  36. }
  37. Http().newServerAt("localhost", 8080).bind(route)
  38. //#new-binding
  39. }
  40. }