mirror of
https://github.com/openresty/headers-more-nginx-module
synced 2024-11-11 20:35:56 +01:00
138 lines
2.5 KiB
Perl
138 lines
2.5 KiB
Perl
# vim:set ft= ts=4 sw=4 et fdm=marker:
|
|
|
|
use lib 'lib';
|
|
use Test::Nginx::Socket;
|
|
|
|
#worker_connections(1014);
|
|
#master_process_enabled(1);
|
|
#log_level('warn');
|
|
|
|
repeat_each(2);
|
|
|
|
plan tests => repeat_each() * (4 * blocks());
|
|
|
|
#no_diff();
|
|
no_long_string();
|
|
|
|
run_tests();
|
|
|
|
__DATA__
|
|
|
|
=== TEST 1: clear the Connection req header
|
|
--- config
|
|
location /req-header {
|
|
more_clear_input_headers Connection;
|
|
echo "connection: $http_connection";
|
|
}
|
|
--- request
|
|
GET /req-header
|
|
|
|
--- stap
|
|
F(ngx_http_headers_more_exec_input_cmd) {
|
|
printf("rewrite: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
|
|
F(ngx_http_core_content_phase) {
|
|
printf("content: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
--- stap_out
|
|
rewrite: conn type: 1
|
|
content: conn type: 0
|
|
|
|
--- response_body
|
|
connection:
|
|
--- no_error_log
|
|
[error]
|
|
|
|
|
|
|
|
=== TEST 2: set custom Connection req header (close)
|
|
--- config
|
|
location /req-header {
|
|
more_set_input_headers "Connection: CLOSE";
|
|
echo "connection: $http_connection";
|
|
}
|
|
--- request
|
|
GET /req-header
|
|
|
|
--- stap
|
|
F(ngx_http_headers_more_exec_input_cmd) {
|
|
printf("rewrite: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
|
|
F(ngx_http_core_content_phase) {
|
|
printf("content: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
--- stap_out
|
|
rewrite: conn type: 1
|
|
content: conn type: 1
|
|
|
|
--- response_body
|
|
connection: CLOSE
|
|
--- no_error_log
|
|
[error]
|
|
|
|
|
|
|
|
=== TEST 3: set custom Connection req header (keep-alive)
|
|
--- config
|
|
location /req-header {
|
|
more_set_input_headers "Connection: keep-alive";
|
|
echo "connection: $http_connection";
|
|
}
|
|
--- request
|
|
GET /req-header
|
|
|
|
--- stap
|
|
F(ngx_http_headers_more_exec_input_cmd) {
|
|
printf("rewrite: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
|
|
F(ngx_http_core_content_phase) {
|
|
printf("content: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
--- stap_out
|
|
rewrite: conn type: 1
|
|
content: conn type: 2
|
|
|
|
--- response_body
|
|
connection: keep-alive
|
|
--- no_error_log
|
|
[error]
|
|
|
|
|
|
|
|
=== TEST 4: set custom Connection req header (bad)
|
|
--- config
|
|
location /req-header {
|
|
more_set_input_headers "Connection: bad";
|
|
echo "connection: $http_connection";
|
|
}
|
|
--- request
|
|
GET /req-header
|
|
|
|
--- stap
|
|
F(ngx_http_headers_more_exec_input_cmd) {
|
|
printf("rewrite: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
|
|
F(ngx_http_core_content_phase) {
|
|
printf("content: conn type: %d\n", $r->headers_in->connection_type)
|
|
}
|
|
|
|
--- stap_out
|
|
rewrite: conn type: 1
|
|
content: conn type: 0
|
|
|
|
--- response_body
|
|
connection: bad
|
|
--- no_error_log
|
|
[error]
|