update rack to 1.5

Needed to intercept server responses via rack.hijack. It is required to create asynchronous responses in Unicorn, which added support back in 4.6.0.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
add support for running unicorn tests via regular socket

unicorn tests are only used in the test suite to run the unix socket tests so far. Since Webrick can't handle rack.hijack headers and thus streaming a response, but unicorn can, make unicorn available for simple tests

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
remove unused middleware from unicorn

unicorn by default will load a stack of middleware, including a standard rack layer for chunked responses. This gets in the way of streamed responses, which don't operate with the syntax of Transfer-Encoding: chunked. Unless it is required later on, disable the middleware layer here.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
update unicorn version 4.6.3 -> 4.8.3 for tests

Running streaming tests with unicorn 4.6.3 produces some unexplained errors with the test suite. Updating solved these issues.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
add tests to validate streamy responses

add a test for blocking calls against streamy endpoints. the result must block and only deliver once all parts have been delivered.

add another test with a response_block, that should get each piece of the response at appropriate timing intervals.

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>