Interface FramedEntityStreamingDirectives
-
- All Superinterfaces:
MarshallingDirectives
- All Known Subinterfaces:
Directives
- All Known Implementing Classes:
Directives$
,HttpApp
public interface FramedEntityStreamingDirectives extends MarshallingDirectives
Allows theMarshallingDirectives.entity
directive to extract aSource
of elements.See
common.EntityStreamingSupport
for useful default framingFlow
instances and support traits such asSprayJsonSupport
(or your other favourite JSON library) to provide the neededMarshaller
s.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <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 Detail
-
asSourceOf
<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
. 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,akka.NotUsed>> asSourceOf(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,akka.NotUsed>> asSourceOfInternal(Unmarshaller<akka.util.ByteString,T> um, EntityStreamingSupport support)
-
-