2017-05-16 1 views
0

Je voudrais encoder mon httprequest (encodant fondamentalement le httpentity) avant de l'envoyer au serveur pour le traitement.comment encoder httprequest en akka http? (Akka http, Scala)

en spray que je pouvais faire quelque chose comme ceci:

import spray.http.HttpHeaders.RawHeader 
import spray.http.parser.HttpParser 
import akka.actor._ 
import spray.http.{HttpEntity, HttpMethods, HttpRequest, HttpResponse} 
import spray.httpx.RequestBuilding 
import spray.httpx.RequestBuilding.{encode, logRequest} 
import spray.httpx.encoding.{Deflate, Gzip} 

object AddHeaderSpray01 extends App { 

    def actorRefFactory = ActorSystem("akkaclient01") 

    val myheader = RawHeader("User-Agent", "bluberry") 

    val modifiedheader = RequestBuilding.addHeader(HttpParser.parseHeader(myheader).left.flatMap(_ ⇒ Right(myheader)).right.get) 

    val myentity = HttpEntity("this is the request body you are currently looking at") 


    val myrequest = HttpRequest(HttpMethods.GET,"www.google.com",List(),myentity) 

    val modifiedrequest = modifiedheader(myrequest) 


def tempPipeline : HttpRequest => HttpRequest = 
    { 
     encode(Gzip) 
} 
    println(tempPipeline(myrequest).toString()) 
} 

Que serait l'équivalent dans Akka Http? Ou en d'autres termes, quel est l'équivalent pour encoder (encoder) dans Akka Http?

Merci

Répondre