首页 > 解决方案 > 用源完成路由并获得其物化价值

问题描述

有一条路线有点像这样:

val route = 
  path("data") {
    get {
      val src: Source[ByteString, BoundedSourceQueue[ByteString]] = ???
      complete(HttpEntity(ContentTypes.`application/octet-stream`, src))
    }
  }

如何访问此来源的物化价值?

标签: akka-streamakka-http

解决方案


预实现src应该可以解决问题。

// will need an implicit ActorSystem/ActorMaterializer in scope
val baseSrc: Source[ByteString, BoundedSourceQueue[ByteString]] = ???
val (bsq, src) = baseSrc.preMaterialize()
// do stuff with bsq...
complete(HttpEntity(ContentTypes.`application/octet-stream`, src))

推荐阅读