Если я хочу загрузить файл в akka-http, я могу использовать такой метод, где я могу контролировать размер чанка:
private def createUploadRequest(streamName: String, uri: Uri, path: Path): Future[(HttpRequest, Path)] = {
val bodyPart = FormData.BodyPart.fromPath("data", ContentTypes.`application/octet-stream`, path, chunkSize)
val body = FormData(bodyPart)
Marshal(body).to[RequestEntity].map { entity =>
HttpRequest(method = HttpMethods.POST, uri = uri, entity = entity) -> path
}
}
Однако, если у меня есть только ByteString с содержимым и я хочу загрузить его, я не могу контролировать размер чанка:
private def makeHttpRequest(streamName: String, serverInfo: ServerInfo, bs: ByteString): HttpRequest = {
HttpRequest(
HttpMethods.POST,
s"http://${serverInfo.host}:${serverInfo.port}$distRoute/$streamName",
entity = HttpEntity(ContentTypes.`application/octet-stream`, bs)
)
}
Есть ли способ также контролировать размер чанка при создании HttpEntity из ByteString?