blob: ca0036460a3f82a3c14f6e1bba7deca29440c089 (
plain) (
tree)
|
|
package kamon.newrelic
import akka.actor.ActorRef
import akka.util.Timeout
import spray.http.{ HttpResponse, HttpRequest }
import spray.httpx.RequestBuilding
import spray.httpx.encoding.Deflate
import spray.json._
import spray.client.pipelining.sendReceive
import scala.concurrent.{ ExecutionContext, Future }
trait ClientPipelines extends RequestBuilding {
def compressedPipeline(transport: ActorRef)(implicit ec: ExecutionContext, to: Timeout): HttpRequest ⇒ Future[HttpResponse] =
encode(Deflate) ~> sendReceive(transport)
def compressedToJsonPipeline(transport: ActorRef)(implicit ec: ExecutionContext, to: Timeout): HttpRequest ⇒ Future[JsValue] =
compressedPipeline(transport) ~> toJson
def toJson(response: HttpResponse): JsValue = response.entity.asString.parseJson
}
|