blob: ca0036460a3f82a3c14f6e1bba7deca29440c089 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
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
}
|