import scala.concurrent.{Future, Promise}
import scala.concurrent.ExecutionContext.Implicits.global
val futureResponse: Future[HttpResponse] = Http().singleRequest(HttpRequest(uri = "http://example.com"))
futureResponse.onComplete {
case Success(response) => println(s"Got successful response: $response")
case Failure(ex) => println(s"Request failed: $ex")
}
import scala.concurrent.{Future, Promise}
import scala.concurrent.ExecutionContext.Implicits.global
import scala.async.Async.{async, await}
val response: Future[HttpResponse] = async {
val request = HttpRequest(uri = "http://example.com")
val futureResponse = Http().singleRequest(request)
await(futureResponse)
}
response.onComplete {
case Success(response) => println(s"Got successful response: $response")
case Failure(ex) => println(s"Request failed: $ex")
}
val poolSettings = ConnectionPoolSettings.default.withMaxConnections(50)
val httpConnectionPool = Http().superPool[Promise[HttpResponse]](settings = poolSettings)