val pipeline: HttpRequest => Future[OrderConfirmation] = ( addHeader("X-My-Special-Header", "fancy-value") ~> addCredentials(BasicHttpCredentials("bob", "secret")) ~> encode(Gzip) ~> sendReceive ~> decode(Deflate) ~> unmarshal[OrderConfirmation] ) val response: Future[OrderConfirmation] = pipeline(Post("http://example.com/orders", Order(42)))