Interface FramedEntityStreamingDirectives
-
- All Superinterfaces:
MarshallingDirectives
- All Known Subinterfaces:
Directives
- All Known Implementing Classes:
Directives$,HttpApp
public interface FramedEntityStreamingDirectives extends MarshallingDirectives
Allows theMarshallingDirectives.entitydirective to extract aSourceof elements.See
common.EntityStreamingSupportfor useful default framingFlowinstances and support traits such asSprayJsonSupport(or your other favourite JSON library) to provide the neededMarshallers.
-
-
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 asSourceof elements of typeT.<T> Unmarshaller<HttpRequest,akka.stream.scaladsl.Source<T,akka.NotUsed>>asSourceOf(Unmarshaller<akka.util.ByteString,T> um, EntityStreamingSupport support)Extracts entity asSourceof 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 asSourceof elements of typeT. This is achieved by applying the implicitly provided (in the following order):- 1st: chunk-up the incoming
ByteStrings by applying theContent-Type-aware framing - 2nd: apply theUnmarshaller(fromByteStringtoT) for each of the respective "chunks" (e.g. for each JSON element contained within an array).The request will be rejected with an
UnsupportedRequestContentTypeRejectionif itsContentTypeis not supported by the usedframingorunmarshaller.Cancelling extracted
Sourcecloses the connection abruptly (same as cancelling theentity.dataBytes).See also
MiscDirectives.withoutSizeLimitas 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 asSourceof elements of typeT. This is achieved by applying the implicitly provided (in the following order):- 1st: chunk-up the incoming
ByteStrings by applying theContent-Type-aware framing - 2nd: apply theUnmarshaller(fromByteStringtoT) for each of the respective "chunks" (e.g. for each JSON element contained within an array).The request will be rejected with an
UnsupportedRequestContentTypeRejectionif itsContentTypeis not supported by the usedframingorunmarshaller.Cancelling extracted
Sourcecloses the connection abruptly (same as cancelling theentity.dataBytes).See also
MiscDirectives.withoutSizeLimitas 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)
-
-