Interface FramedEntityStreamingDirectives
- All Superinterfaces:
MarshallingDirectives
- All Known Subinterfaces:
Directives
- All Known Implementing Classes:
Directives$
,HttpApp
MarshallingDirectives.entity
directive to extract a 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,
akka.stream.scaladsl.Source<T, akka.NotUsed>> asSourceOf
(EntityStreamingSupport support, Unmarshaller<akka.util.ByteString, T> um) Extracts entity asSource
of elements of typeT
.<T> Unmarshaller<HttpRequest,
akka.stream.scaladsl.Source<T, akka.NotUsed>> asSourceOf
(Unmarshaller<akka.util.ByteString, T> um, EntityStreamingSupport support) Extracts entity asSource
of elements of typeT
.<T> Unmarshaller<HttpRequest,
akka.stream.scaladsl.Source<T, akka.NotUsed>> asSourceOfInternal
(Unmarshaller<akka.util.ByteString, T> um, EntityStreamingSupport support) Methods inherited from interface akka.http.scaladsl.server.directives.MarshallingDirectives
as, completeWith, entity, handleWith, instanceOf
-
Method Details
-
asSourceOf
<T> Unmarshaller<HttpRequest,akka.stream.scaladsl.Source<T, asSourceOfakka.NotUsed>> (Unmarshaller<akka.util.ByteString, T> um, EntityStreamingSupport support) Extracts entity asSource
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
UnsupportedRequestContentTypeRejection
if itsContentType
is not supported by the usedframing
orunmarshaller
.Cancelling extracted
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 theakka.http.parsing.max-content-length
.- Parameters:
um
- (undocumented)support
- (undocumented)- Returns:
- (undocumented)
-
asSourceOf
<T> Unmarshaller<HttpRequest,akka.stream.scaladsl.Source<T, asSourceOfakka.NotUsed>> (EntityStreamingSupport support, Unmarshaller<akka.util.ByteString, T> um) Extracts entity asSource
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
UnsupportedRequestContentTypeRejection
if itsContentType
is not supported by the usedframing
orunmarshaller
.Cancelling extracted
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 theakka.http.parsing.max-content-length
.- Parameters:
support
- (undocumented)um
- (undocumented)- Returns:
- (undocumented)
-
asSourceOfInternal
<T> Unmarshaller<HttpRequest,akka.stream.scaladsl.Source<T, asSourceOfInternalakka.NotUsed>> (Unmarshaller<akka.util.ByteString, T> um, EntityStreamingSupport support)
-