1
1
mirror of https://github.com/openresty/headers-more-nginx-module synced 2024-11-11 20:35:56 +01:00
headers-more-nginx-module/t/input-conn.t
2017-09-19 15:52:38 -07:00

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]