我从 Kafka Reactive Streams 消费者那里收到一个文件作为字节串;我想用这个 Bytestring 作为实体 HttpEntity.Default 构造一个 akka-http 请求。HttpEntity.Default 需要 Source[Bytestring, Any] 作为其参数之一。
将两者联系起来的最佳方式是什么?
我从 Kafka Reactive Streams 消费者那里收到一个文件作为字节串;我想用这个 Bytestring 作为实体 HttpEntity.Default 构造一个 akka-http 请求。HttpEntity.Default 需要 Source[Bytestring, Any] 作为其参数之一。
将两者联系起来的最佳方式是什么?
您可以使用Source.single
:
HttpEntity.Default(
ContentTypes.`application/octet-stream`,
byteString.size,
Source.single(byteString)
)
也就是说,你真的确定你需要HttpEntity.Default
吗?您可以使用该HttpEntity.apply(ContentType, ByteString)
方法直接从 a 构造实体ByteString
:
HttpEntity(ContentTypes.`application/octet-stream`, byteString)
HttpEntity.Strict
它返回一个instead of的实例HttpEntity.Default
,但Strict
可以很好地用于发送 HTTP 请求。