Packages

  • package root
    Definition Classes
    root
  • package play

    Play framework.

    Play framework.

    Play

    http://www.playframework.com

    Definition Classes
    root
  • package api

    Contains the public API for Scala developers.

    Contains the public API for Scala developers.

    Read configuration
    val poolSize = configuration.getInt("engine.pool.size")
    Use the logger
    Logger.info("Hello!")
    Define a Plugin
    class MyPlugin(app: Application) extends Plugin
    Create adhoc applications (for testing)
    val application = Application(new File("."), this.getClass.getClassloader, None, Play.Mode.DEV)
    Definition Classes
    play
  • package libs

    Contains various APIs that are useful while developing web applications.

    Contains various APIs that are useful while developing web applications.

    Definition Classes
    api
  • package concurrent
    Definition Classes
    libs
  • package crypto
    Definition Classes
    libs
  • package typedmap
    Definition Classes
    libs
  • Codecs
  • Collections
  • Comet
  • EventSource
  • Files
  • JNDI
  • Jsonp
o

play.api.libs

EventSource

object EventSource

This class provides an easy way to use Server Sent Events (SSE) as a chunked encoding, using an Pekko Source.

Please see the Server-Sent Events specification for details.

An example of how to display an event stream:

import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import jakarta.inject.Singleton
import org.apache.pekko.stream.scaladsl.Source
import play.api.http.ContentTypes
import play.api.libs.EventSource
import play.api.mvc._

import scala.concurrent.duration._

def liveClock() = Action {
  val df: DateTimeFormatter = DateTimeFormatter.ofPattern("HH mm ss")
  val tickSource = Source.tick(0 millis, 100 millis, "TICK")
  val source = tickSource.map { (tick) =>
    df.format(ZonedDateTime.now())
  }
  Ok.chunked(source via EventSource.flow).as(ContentTypes.EVENT_STREAM)
}
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EventSource
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Event(data: String, id: Option[String], name: Option[String]) extends Product with Serializable

    An event encoded with the SSE protocol..

  2. case class EventDataExtractor[A](eventData: (A) => String) extends Product with Serializable
  3. case class EventIdExtractor[E](eventId: (E) => Option[String]) extends Product with Serializable
  4. case class EventNameExtractor[E](eventName: (E) => Option[String]) extends Product with Serializable
  5. trait LowPriorityEventEncoder extends AnyRef
  6. trait LowPriorityEventIdExtractor extends AnyRef
  7. trait LowPriorityEventNameExtractor extends AnyRef

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def flow[E](implicit arg0: EventDataExtractor[E], arg1: EventNameExtractor[E], arg2: EventIdExtractor[E]): Flow[E, Event, _]

    Makes a Flow[E, Event, _], given an input source.

    Makes a Flow[E, Event, _], given an input source.

    Usage example:

    val jsonStream: Source[JsValue, Unit] = createJsonSource()
    Ok.chunked(jsonStream via EventSource.flow).as(ContentTypes.EVENT_STREAM)
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  15. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    AnyRef → Any
  17. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. object Event extends Serializable
  21. object EventDataExtractor extends LowPriorityEventEncoder with Serializable
  22. object EventIdExtractor extends LowPriorityEventIdExtractor with Serializable
  23. object EventNameExtractor extends LowPriorityEventNameExtractor with Serializable

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped