diff options
author | Eric Wong <normalperson@yhbt.net> | 2013-01-22 23:52:14 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2013-01-22 23:54:37 +0000 |
commit | fedb5e50829e6dfad30ca18ea525c812eccbec70 (patch) | |
tree | f00c797fa7838218128086fa217c92d3d47ab8f1 /t | |
parent | 705cf5fcf8ccb37deef5d2b922d6d78d34765c5b (diff) | |
download | unicorn-fedb5e50829e6dfad30ca18ea525c812eccbec70.tar.gz |
Once a connection is hijacked, we ignore it completely and leave the connection at the mercy of the application.
Diffstat (limited to 't')
-rw-r--r-- | t/hijack.ru | 7 | ||||
-rwxr-xr-x | t/t0200-rack-hijack.sh | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/t/hijack.ru b/t/hijack.ru index 105e0d7..fcb0b6d 100644 --- a/t/hijack.ru +++ b/t/hijack.ru @@ -17,7 +17,12 @@ run lambda { |env| io = env["rack.hijack"].call if io.respond_to?(:read_nonblock) && env["rack.hijack_io"].respond_to?(:read_nonblock) - return [ 200, {}, [ "hijack.OK\n" ] ] + + # exercise both, since we Rack::Lint may use different objects + env["rack.hijack_io"].write("HTTP/1.0 200 OK\r\n\r\n") + io.write("request.hijacked") + io.close + return [ 500, {}, DieIfUsed.new ] end end [ 500, {}, [ "hijack BAD\n" ] ] diff --git a/t/t0200-rack-hijack.sh b/t/t0200-rack-hijack.sh index 23a9ee4..f772071 100755 --- a/t/t0200-rack-hijack.sh +++ b/t/t0200-rack-hijack.sh @@ -9,7 +9,7 @@ t_begin "setup and start" && { } t_begin "check request hijack" && { - test "xhijack.OK" = x"$(curl -sSfv http://$listen/hijack_req)" + test "xrequest.hijacked" = x"$(curl -sSfv http://$listen/hijack_req)" } t_begin "check response hijack" && { |