Interface FramedEntityStreamingDirectives
- All Superinterfaces:
MarshallingDirectives
- All Known Subinterfaces:
Directives
- All Known Implementing Classes:
Directives$
,HttpApp
MarshallingDirectives.entity
directive to extract a pekko.stream.scaladsl.Source
of elements.
See common.EntityStreamingSupport
for useful default framing Flow
instances and
support traits such as SprayJsonSupport
(or your other favourite JSON library) to provide the needed Marshaller
s.
-
Method Summary
Modifier and TypeMethodDescription<T> Unmarshaller<HttpRequest,
org.apache.pekko.stream.scaladsl.Source<T, org.apache.pekko.NotUsed>> asSourceOf
(EntityStreamingSupport support, Unmarshaller<org.apache.pekko.util.ByteString, T> um) Extracts entity aspekko.stream.scaladsl.Source
of elements of typeT
.<T> Unmarshaller<HttpRequest,
org.apache.pekko.stream.scaladsl.Source<T, org.apache.pekko.NotUsed>> asSourceOf
(Unmarshaller<org.apache.pekko.util.ByteString, T> um, EntityStreamingSupport support) Extracts entity aspekko.stream.scaladsl.Source
of elements of typeT
.<T> Unmarshaller<HttpRequest,
org.apache.pekko.stream.scaladsl.Source<T, org.apache.pekko.NotUsed>> asSourceOfInternal
(Unmarshaller<org.apache.pekko.util.ByteString, T> um, EntityStreamingSupport support) Methods inherited from interface org.apache.pekko.http.scaladsl.server.directives.MarshallingDirectives
as, completeWith, entity, handleWith, instanceOf
-
Method Details
-
asSourceOf
<T> Unmarshaller<HttpRequest,org.apache.pekko.stream.scaladsl.Source<T, asSourceOforg.apache.pekko.NotUsed>> (Unmarshaller<org.apache.pekko.util.ByteString, T> um, EntityStreamingSupport support) Extracts entity aspekko.stream.scaladsl.Source
of elements of typeT
. This is achieved by applying the implicitly provided (in the following order):- 1st: chunk-up the incoming
ByteString
s by applying theContent-Type
-aware framing - 2nd: apply theUnmarshaller
(fromByteString
toT
) for each of the respective "chunks" (e.g. for each JSON element contained within an array).The request will be rejected with an
pekko.http.scaladsl.server.UnsupportedRequestContentTypeRejection
if itsContentType
is not supported by the usedframing
orunmarshaller
.Cancelling extracted
pekko.stream.scaladsl.Source
closes the connection abruptly (same as cancelling theentity.dataBytes
).See also
MiscDirectives.withoutSizeLimit
as you may want to allow streaming infinite streams of data in this route. By default the uploaded data is limited by thepekko.http.parsing.max-content-length
.- Parameters:
um
- (undocumented)support
- (undocumented)- Returns:
- (undocumented)
-
asSourceOf
<T> Unmarshaller<HttpRequest,org.apache.pekko.stream.scaladsl.Source<T, asSourceOforg.apache.pekko.NotUsed>> (EntityStreamingSupport support, Unmarshaller<org.apache.pekko.util.ByteString, T> um) Extracts entity aspekko.stream.scaladsl.Source
of elements of typeT
. This is achieved by applying the implicitly provided (in the following order):- 1st: chunk-up the incoming
ByteString
s by applying theContent-Type
-aware framing - 2nd: apply theUnmarshaller
(fromByteString
toT
) for each of the respective "chunks" (e.g. for each JSON element contained within an array).The request will be rejected with an
pekko.http.scaladsl.server.UnsupportedRequestContentTypeRejection
if itsContentType
is not supported by the usedframing
orunmarshaller
.Cancelling extracted
pekko.stream.scaladsl.Source
closes the connection abruptly (same as cancelling theentity.dataBytes
).See also
MiscDirectives.withoutSizeLimit
as you may want to allow streaming infinite streams of data in this route. By default the uploaded data is limited by thepekko.http.parsing.max-content-length
.- Parameters:
support
- (undocumented)um
- (undocumented)- Returns:
- (undocumented)
-
asSourceOfInternal
<T> Unmarshaller<HttpRequest,org.apache.pekko.stream.scaladsl.Source<T, asSourceOfInternalorg.apache.pekko.NotUsed>> (Unmarshaller<org.apache.pekko.util.ByteString, T> um, EntityStreamingSupport support)
-