Pre-fuse http server layer (#20990)

* Ported the first pre-fuse part endre did in pr #1972

* Allow the same HttpServerBluePrint to materialize multiple times

HttpRequestParser now behave like a proper GraphStage (with regards to materialization)
HttpResponseParser is kept "weird" to limit scope of commit.

* TestClient method to dump with http client and curl in parallel for comparison

* Cleanup

* tightening down what can be overriden
* tightening down access modifiers
* updates according to review

* Better defaults for the test server

* Ups. Don't listen to public interfaces in test server by default.
This commit is contained in:
Johan Andrén 2016-07-22 14:07:41 +02:00 committed by Konrad Malawski
parent 27efafecfc
commit 9dc474a10a
9 changed files with 423 additions and 275 deletions

View file

@ -414,7 +414,7 @@ class ByteStringSpec extends WordSpec with Matchers with Checkers {
def excerciseRecombining(xs: ByteString, from: Int, until: Int) = {
val (tmp, c) = xs.splitAt(until)
val (a, b) = tmp.splitAt(from)
(a ++ b ++ c) should ===(xs)
(a ++ b ++ c) should ===(xs)
}
"recombining - edge cases" in {
excerciseRecombining(ByteStrings(Vector(ByteString1(Array[Byte](1)), ByteString1(Array[Byte](2)))), -2147483648, 112121212)