2
IはFuture[Source[List[String]]]
(CSVファイルの最初の二行)を返す以下の方法た:アレイのJSON配列にそれをマーシャリングakka-httpでHttpResponseに未来[ソース[...]]をマーシャリングする方法は?
def get(url: String, charset: String, delimiter: Char, quote: Char, escape: Char) = {
val scanner = CsvParsing.lineScanner(
delimiter.toByte,
quote.toByte,
escape.toByte
)
val request = HttpRequest(GET, Uri(url)).withHeaders(`User-Agent`(UserAgent))
Http(system)
.singleRequest(request)
.map { response =>
response.entity.withoutSizeLimit.dataBytes
.viaMat(scanner)(Keep.left)
.map(row =>
row.map(bs =>
bs.decodeString(charset)
)
)
.take(2)
}
}
ザがcomplete
に渡されるFuture
を返したが、使用して:
HttpResponse
に
Future[Source[...]]
をマーシャリングすることですこれを行うための最善の方法のように思える200でない場合
implicit val jsonStreamingSupport: JsonEntityStreamingSupport = EntityStreamingSupport.json()
しかし、私はresponse
を検査し、異なるHttpResponse
を返したいのですがメソッドの戻り値の型はどちらでもHttpResponse
になります。
どうすればよいですか?それとも良い方法がありますか?