# HG changeset patch # User Maxim Dounin <mdou...@mdounin.ru> # Date 1650492928 -10800 # Thu Apr 21 01:15:28 2022 +0300 # Node ID 910b323534f0100d0a1c8c7934a0e91c51f4e888 # Parent cc83aac5f9482dc7485d92a1e5944586774a5306 Tests: fastcgi tests for combining headers.
diff --git a/fastcgi_header_params.t b/fastcgi_header_params.t --- a/fastcgi_header_params.t +++ b/fastcgi_header_params.t @@ -25,7 +25,7 @@ eval { require FCGI; }; plan(skip_all => 'FCGI not installed') if $@; plan(skip_all => 'win32') if $^O eq 'MSWin32'; -my $t = Test::Nginx->new()->has(qw/http fastcgi/)->plan(1) +my $t = Test::Nginx->new()->has(qw/http fastcgi/)->plan(4) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -59,6 +59,37 @@ EOF like(http_get_headers('/'), qr/SEE-THIS/, 'fastcgi request with many ignored headers'); +TODO: { +local $TODO = 'not yet'; + +my $r; + +$r = http(<<EOF); +GET / HTTP/1.0 +Host: localhost +X-Forwarded-For: foo +X-Forwarded-For: bar +X-Forwarded-For: bazz +Cookie: foo +Cookie: bar +Cookie: bazz +Foo: foo +Foo: bar +Foo: bazz + +EOF + +like($r, qr/X-Forwarded-For: foo, bar, bazz/, + 'fastcgi with multiple X-Forwarded-For headers'); + +like($r, qr/X-Cookie: foo; bar; bazz/, + 'fastcgi with multiple Cookie headers'); + +like($r, qr/X-Foo: foo, bar, bazz/, + 'fastcgi with multiple unknown headers'); + +} + ############################################################################### sub http_get_headers { @@ -100,9 +131,16 @@ sub fastcgi_daemon { while( $request->Accept() >= 0 ) { $count++; + my $xfwd = $ENV{HTTP_X_FORWARDED_FOR} || ''; + my $cookie = $ENV{HTTP_COOKIE} || ''; + my $foo = $ENV{HTTP_FOO} || ''; + print <<EOF; Location: http://localhost/redirect Content-Type: text/html +X-Forwarded-For: $xfwd +X-Cookie: $cookie +X-Foo: $foo SEE-THIS $count _______________________________________________ nginx-devel mailing list -- nginx-devel@nginx.org To unsubscribe send an email to nginx-devel-le...@nginx.org