diff options
Diffstat (limited to 'debian/vendor-h2o/t/40bad-request.t')
-rw-r--r-- | debian/vendor-h2o/t/40bad-request.t | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/debian/vendor-h2o/t/40bad-request.t b/debian/vendor-h2o/t/40bad-request.t new file mode 100644 index 0000000..643e1f0 --- /dev/null +++ b/debian/vendor-h2o/t/40bad-request.t @@ -0,0 +1,28 @@ +use strict; +use warnings; +use Test::More; +use t::Util; + +plan skip_all => "nc not found" + unless prog_exists("nc"); + +my $server = spawn_h2o(<< "EOT"); +hosts: + default: + paths: + "/": + file.dir: @{[ DOC_ROOT ]} +EOT + +my $resp; + +$resp = `nc 127.0.0.1 $server->{port} < /dev/null 2>&1`; +is $resp, "", "silent close on empty request"; + +$resp = `echo "GET / HTTP/1.2\r\na\r\n\r" | nc 127.0.0.1 $server->{port} 2>&1`; +like $resp, qr{^HTTP/1\.1 400 .*Content-Length:\s*11\r\n\r\nBad Request$}is, "400 on broken request"; + +$resp = `echo "\r" | nc 127.0.0.1 $server->{port} 2>&1`; +is $resp, "", "silent close on CRLF"; + +done_testing; |