EntityStreamingSupport

org.apache.pekko.http.scaladsl.common.EntityStreamingSupport
See theEntityStreamingSupport companion class

Entity streaming support, independent of used Json parsing library etc.

Attributes

Companion
class
Source
EntityStreamingSupport.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

Default text/csv(UTF-8) entity streaming support. Provides framing and rendering of \n separated lines and marshalling Sources into such values.

Default text/csv(UTF-8) entity streaming support. Provides framing and rendering of \n separated lines and marshalling Sources into such values.

Limits the maximum line-length to 8KB, if you want to increase this limit provide a value explicitly.

Attributes

Source
EntityStreamingSupport.scala
def csv(maxLineLength: Int): CsvEntityStreamingSupport

Default text/csv(UTF-8) entity streaming support. Provides framing and rendering of \n separated lines and marshalling Sources into such values.

Default text/csv(UTF-8) entity streaming support. Provides framing and rendering of \n separated lines and marshalling Sources into such values.

Attributes

Source
EntityStreamingSupport.scala

Default application/json entity streaming support.

Default application/json entity streaming support.

Provides framing (based on scanning the incoming dataBytes for valid JSON objects, so for example uploads using arrays or new-line separated JSON objects are all parsed correctly) and rendering of Sources as JSON Arrays. A different very popular style of returning streaming JSON is to separate JSON objects on a line-by-line basis, you can configure the support trait to do so by calling withFramingRendererFlow.

Limits the maximum JSON object length to 8KB, if you want to increase this limit provide a value explicitly.

See also https://en.wikipedia.org/wiki/JSON_Streaming

Attributes

Source
EntityStreamingSupport.scala
def json(maxObjectLength: Int): JsonEntityStreamingSupport

Default application/json entity streaming support.

Default application/json entity streaming support.

Provides framing (based on scanning the incoming dataBytes for valid JSON objects, so for example uploads using arrays or new-line separated JSON objects are all parsed correctly) and rendering of Sources as JSON Arrays. A different very popular style of returning streaming JSON is to separate JSON objects on a line-by-line basis, you can configure the support trait to do so by calling withFramingRendererFlow.

See also https://en.wikipedia.org/wiki/JSON_Streaming

Attributes

Source
EntityStreamingSupport.scala