0
Использование Акка-клиент HTTP:Unmarshaler для HttpResonse Headers к Т
, что это лучший способ извлечения или Демаршаллизация HttpResponse заголовки в случае класса T? Моя текущая попытка:
класс UnmarshallerSpec расширяет AkkaSpec ("распаковать") с ScalaFutures с WordSpecLike с Matchers с BeforeAndAfterAll с BeforeAndAfterEach {
import AmbryPostResponseUnmarshalling._
import akka.http.scaladsl.unmarshalling._
case class AmbryPostFileResponse(ambryId: String)
val ambryBlobInfo = new AmbryPostFileResponse("ambryId")
val testHttpResponse = HttpResponse(status = StatusCodes.OK, headers = List(Location("ambryId")))
"Unmarshaler" should {
"unmarshal" in {
val result = Unmarshal(testHttpResponse).to[AmbryPostFileResponse]
whenReady(result, timeout(10 seconds)) { r =>
r shouldEqual ambryBlobInfo
}
}
}
object AmbryPostResponseUnmarshalling extends AmbryPostResponseUnmarshalling
trait AmbryPostResponseUnmarshalling {
implicit final val fru: FromResponseUnmarshaller[AmbryPostFileResponse] = {
// val h: Class[Location] = headers.Location.getClass[Location]
def unmarshal(response: HttpResponse) =
AmbryPostFileResponse(response.getHeader("Location").get.asInstanceOf[Location].uri.toString())
Unmarshaller.strict(unmarshal)
}
}
}
Не могли бы вы рассказать больше о том, чего вы пытаетесь достичь? Например, некоторые примеры кода того, что вы уже пробовали, обычно очень помогают другим людям понять проблему, с которой вы сталкиваетесь. –
Я обновил свой вопрос – Rabzu