具有Play 2.5和服务器发送事件的命名事件流

时间:2017-08-01 21:47:15

标签: scala server-sent-events akka-stream playframework-2.5 eventsource

服务器发送事件中的默认事件名称/类型是“message”。我正在尝试更改事件名称,但它无法正常工作。我正在使用Play 2.5和akka流。

(actorRef,sourcePublisher)=  Source
      .actorRef[T](10, OverflowStrategy.fail)
      .toMat(Sink.asPublisher(true))(Keep.both)
      .run()

backsource = Source.fromPublisher[T](sourcePublisher).named("test1")
Ok.chunked(backsource via EventSource.flow)
      .as(ContentTypes.EVENT_STREAM)

但它没有改变事件名称/类型。它仍在收听消息事件,而不是 test1 。请建议。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我通过声明隐式EventNameExtractor来修复此问题。以下是代码:

隐式def对[E]:EventNameExtractor [E] = EventNameExtractor [E](p => Some((" test1")))。

有效。