in client-default/src/main/scala/com.gu.contentapi.client/GuardianContentClient.scala [36:53]
def get(url: String, headers: Map[String, String])(implicit context: ExecutionContext): Future[HttpResponse] = {
val reqBuilder = new Request.Builder().url(url)
val req = headers.foldLeft(reqBuilder) {
case (r, (name, value)) => r.header(name, value)
}
val promise = Promise[HttpResponse]()
http.newCall(req.build()).enqueue(new Callback() {
override def onFailure(call: Call, e: IOException): Unit = promise.failure(e)
override def onResponse(call: Call, response: Response): Unit = {
promise.success(HttpResponse(response.body().bytes, response.code(), response.message()))
}
})
promise.future
}