2015-04-15 9 views
7

Sto usando chiazza di petrolio 3.0 e dispone di un oggetto databasepublisher comeAkka-streaming HTTP usando Slick 3.0 Databasepublisher

def getAsStream = db.stream[Entity](tblquery.result) 

Sto usando Akka-http per lo strato di riposo come segue,

val route = 
path("stream"){ 
get { 
    complete { // how to stream from here } 
    } 
} 

Come si può Uso questo oggetto databasepublisher, per trasformare (json) e trasmettere ogni riga al client. Per favore aiuto.

+0

rendimenti Sick un editore ReactiveStream. Quindi questa è più una domanda akka che una domanda Slick. Solo FYI. – cvogt

risposta

2

ho finalmente fare qualcosa di simile, non so se il suo modo giusto,

complete { 
     val source = Source(repository.getAsStream).map(a => ChunkStreamPart(a.asJson)) 
     HttpResponse(entity = HttpEntity.Chunked(MediaTypes.`application/json`, source)) 
     }