如何将Bytestring转换为Source [Bytestring,Any]

时间:2016-09-29 08:30:44

标签: scala akka-stream akka-http reactive-kafka

我从Kafka Reactive Streams消费者那里收到一个Bytestring文件;我想用这个Bytestring构造一个akka-http请求作为实体HttpEntity.Default。 HttpEntity.Default需要Source [Bytestring,Any]作为其参数之一。

连接两者的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用Source.single

HttpEntity.Default(
  ContentTypes.`application/octet-stream`,
  byteString.size,
  Source.single(byteString)
)

那就是说,你真的确定你需要HttpEntity.Default吗?您可以使用HttpEntity.apply(ContentType, ByteString)方法直接从ByteString

构建实体
HttpEntity(ContentTypes.`application/octet-stream`, byteString)

它返回HttpEntity.Strict而不是HttpEntity.Default的实例,但Strict可用于发送HTTP请求。