Я пытаюсь маршалировать akka HttpResponse
как таковой:
{
"code": 200,
"headers": [],
"body": "{\"data\": \"Yes!\"}"
}
Если я напишу Argonaut EncodeJson
для этого экземпляра, это может выглядеть так:
implicit def httpResponseEncodeJson: EncodeJson[HttpResponse] =
EncodeJson(
(res: HttpResponse) ⇒ {
("code" := res._1.value) ->:
("headers" := res._2.toList) ->:
("body" := res._3) ->: jEmptyObject
}
)
Мне удалось маршалировать заголовки как json. Проблема только с корпусом, т.е. ResponseEntity
. Поскольку это поток akka, он может возвращать будущее только в том случае, если я использую .toStrict
.
Может ли кто-нибудь указать мне, как я могу его маршалировать?