Closed DanSimon closed 7 years ago
@@ develop #489 diff @@
==========================================
Files 91 93 +2
Lines 4208 4248 +40
Methods 3859 3888 +29
Messages 0 0
Branches 349 360 +11
==========================================
+ Hits 3546 3597 +51
+ Misses 662 651 -11
Partials 0 0
Powered by Codecov. Last update bf811ff...6fe476a
There are several significant changes in this PR focused on cleaning up and generalizing some of the http streaming code:
StreamServiceController
has been generalized intoStreamTranscodingController
. Not only can this class now be used with streaming protocols besides http, but it can work for both server and client connections. This definitely took a little type trickery to get all the parameters to behave with http, but it is all hidden from end-users. This should also work as the multiplexing layer for http2StreamingHttpClient
. Unlike other clients, there will be noFuture
version of this client, since at least for now streams are not thread-safe.BaseHttpMessage[H,B]
type that can serve as a base trait for all http protocols, including (eventually) http2. This opens the door for being able to do write more generic types and operations on http, http-stream, and streaming-http messages.filterMap
typeclass operation on sources, used by streaming http as part of the decoding process.All existing tests pass. I may add a few more if test coverage is too low.