blob: 4926a0101a48fdf55337be331e02c605f8fb9baf [file] [log] [blame] [raw]
# vim:set ft= ts=4 sw=4 et fdm=marker:
use lib 'lib';
use Test::Nginx::Socket::Lua;
#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 {
rewrite_by_lua '
ngx.req.set_header("Connection", nil);
';
echo "connection: $http_connection";
}
--- request
GET /req-header
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
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 {
rewrite_by_lua '
ngx.req.set_header("Connection", "CLOSE");
';
echo "connection: $http_connection";
}
--- request
GET /req-header
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
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 {
rewrite_by_lua '
ngx.req.set_header("Connection", "keep-alive");
';
echo "connection: $http_connection";
}
--- request
GET /req-header
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
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 {
rewrite_by_lua '
ngx.req.set_header("Connection", "bad");
';
echo "connection: $http_connection";
}
--- request
GET /req-header
--- stap
F(ngx_http_lua_rewrite_by_chunk) {
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]