summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/t/50chunked-encoding-proxying.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:23 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-07-24 09:54:44 +0000
commit836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch)
tree1604da8f482d02effa033c94a84be42bc0c848c3 /web/server/h2o/libh2o/t/50chunked-encoding-proxying.t
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz
netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/t/50chunked-encoding-proxying.t')
-rw-r--r--web/server/h2o/libh2o/t/50chunked-encoding-proxying.t84
1 files changed, 0 insertions, 84 deletions
diff --git a/web/server/h2o/libh2o/t/50chunked-encoding-proxying.t b/web/server/h2o/libh2o/t/50chunked-encoding-proxying.t
deleted file mode 100644
index bb0dff806..000000000
--- a/web/server/h2o/libh2o/t/50chunked-encoding-proxying.t
+++ /dev/null
@@ -1,84 +0,0 @@
-use strict;
-use warnings;
-use Net::EmptyPort qw(check_port empty_port);
-use Test::More;
-use t::Util;
-use Time::HiRes qw(usleep);
-
-plan skip_all => 'nc not found'
- unless prog_exists('nc');
-
-plan skip_all => 'nghttp not found'
- unless prog_exists('nghttp');
-
-my $upstream_port = empty_port();
-$| = 1;
-my $socket = new IO::Socket::INET (
- LocalHost => '127.0.0.1',
- LocalPort => $upstream_port,
- Proto => 'tcp',
- Listen => 1,
- Reuse => 1
-);
-die "cannot create socket $!\n" unless $socket;
-
-check_port($upstream_port) or die "can't connect to server socket";
-# accent and close check_port's connection
-my $client_socket = $socket->accept();
-close($client_socket);
-
-my $server = spawn_h2o(<< "EOT");
-hosts:
- default:
- paths:
- "/":
- proxy.reverse.url: http://127.0.0.1:$upstream_port
-EOT
-
-sub doit {
- my $chunk = shift;
- my $data = shift;
- my $stream_window_bits = shift;
- my $defer_close = shift;
- my $expect_rst_stream = shift;
- open my $nghttp, "-|", "nghttp -w $stream_window_bits -v http://127.0.0.1:$server->{'port'}/ -H 'host: host.example.com' 2>&1";
-
- my $req;
- $client_socket = $socket->accept();
- $client_socket->recv($req, 1024);
- $client_socket->send("HTTP/1.1 200 Ok\r\nTransfer-Encoding:chunked\r\nConnection:close\r\n\r\n$chunk");
- if ($defer_close) {
- usleep(50000);
- }
- close($client_socket);
-
- my $found_rst_stream=0;
- my $found_data="";
- while(<$nghttp>) {
- if (/^[\[|\s]/) {
- if (/RST_STREAM/) {
- $found_rst_stream = 1;
- }
- } else {
- # reassamble the DATA output
- if (/^([^\[|^\s]+)[\[|\s].*DATA.*/) {
- $found_data = $found_data.$1;
- }
- }
- }
- if ($expect_rst_stream) {
- ok($found_rst_stream == 1, "Found RST_STREAM");
- } else {
- ok($found_rst_stream == 0, "RST_STREAM not found, as expected");
- }
- ok($found_data eq $data, "Found the expected data");
-}
-
-for my $w (1 .. 5) {
- doit("5\r\nHello\r\n50\r\nThere", "HelloThere", $w, 0, 1);
- doit("5\r\nHello\r\n50\r\nThere", "HelloThere", $w, 1, 1);
-}
-doit("5\r\nHello\r\n5\r\nThere\r\n", "HelloThere", 14);
-
-$socket->close();
-done_testing();