Initial Commit
This commit is contained in:
339
headers-more-nginx-module-0.32/t/builtin.t
Normal file
339
headers-more-nginx-module-0.32/t/builtin.t
Normal file
@@ -0,0 +1,339 @@
|
||||
# vi:filetype=
|
||||
|
||||
use lib 'lib';
|
||||
use Test::Nginx::Socket; # 'no_plan';
|
||||
|
||||
plan tests => 60;
|
||||
|
||||
no_diff;
|
||||
|
||||
run_tests();
|
||||
|
||||
__DATA__
|
||||
|
||||
=== TEST 1: set Server
|
||||
--- config
|
||||
location /foo {
|
||||
echo hi;
|
||||
more_set_headers 'Server: Foo';
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
Server: Foo
|
||||
--- response_body
|
||||
hi
|
||||
|
||||
|
||||
|
||||
=== TEST 2: clear Server
|
||||
--- config
|
||||
location /foo {
|
||||
echo hi;
|
||||
more_clear_headers 'Server: ';
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Server
|
||||
--- response_body
|
||||
hi
|
||||
|
||||
|
||||
|
||||
=== TEST 3: set Content-Type
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plan';
|
||||
more_set_headers 'Content-Type: text/css';
|
||||
echo hi;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
Content-Type: text/css
|
||||
--- response_body
|
||||
hi
|
||||
|
||||
|
||||
|
||||
=== TEST 4: set Content-Type
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plan';
|
||||
more_set_headers 'Content-Type: text/css';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
Content-Type: text/css
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 5: clear Content-Type
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plain';
|
||||
more_clear_headers 'Content-Type: ';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 6: clear Content-Type (colon not required)
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Content-Type: Hello';
|
||||
more_clear_headers 'Content-Type';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 7: clear Content-Type (value ignored)
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Content-Type: Hello';
|
||||
more_clear_headers 'Content-Type: blah';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 8: clear Content-Type (case insensitive)
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Content-Type: Hello';
|
||||
more_clear_headers 'content-type: blah';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 9: clear Content-Type using set empty
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Content-Type: Hello';
|
||||
more_set_headers 'content-type:';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 10: clear Content-Type using setting key only
|
||||
--- config
|
||||
location /foo {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Content-Type: Hello';
|
||||
more_set_headers 'content-type';
|
||||
return 404;
|
||||
}
|
||||
--- request
|
||||
GET /foo
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body_like: 404 Not Found
|
||||
--- error_code: 404
|
||||
|
||||
|
||||
|
||||
=== TEST 11: set content-length
|
||||
--- config
|
||||
location /len {
|
||||
more_set_headers 'Content-Length: 2';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
Content-Length: 2
|
||||
--- response_body chop
|
||||
he
|
||||
|
||||
|
||||
|
||||
=== TEST 12: set content-length multiple times
|
||||
--- config
|
||||
location /len {
|
||||
more_set_headers 'Content-Length: 2';
|
||||
more_set_headers 'Content-Length: 4';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
Content-Length: 4
|
||||
--- response_body chop
|
||||
hell
|
||||
|
||||
|
||||
|
||||
=== TEST 13: clear content-length
|
||||
--- config
|
||||
location /len {
|
||||
more_set_headers 'Content-Length: 4';
|
||||
more_set_headers 'Content-Length:';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
! Content-Length
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 14: clear content-length (another way)
|
||||
--- config
|
||||
location /len {
|
||||
more_set_headers 'Content-Length: 4';
|
||||
more_clear_headers 'Content-Length';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
! Content-Length
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 15: clear content-type
|
||||
--- config
|
||||
location /len {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Content-Type:';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 16: clear content-type (the other way)
|
||||
--- config
|
||||
location /len {
|
||||
default_type 'text/plain';
|
||||
more_clear_headers 'Content-Type:';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
! Content-Type
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 17: set Charset
|
||||
--- config
|
||||
location /len {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Charset: gbk';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
Charset: gbk
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 18: clear Charset
|
||||
--- config
|
||||
location /len {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Charset: gbk';
|
||||
more_clear_headers 'Charset';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
! Charset
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 19: clear Charset (the other way: using set)
|
||||
--- config
|
||||
location /len {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Charset: gbk';
|
||||
more_set_headers 'Charset: ';
|
||||
echo hello;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
! Charset
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
|
||||
|
||||
=== TEST 20: set Vary
|
||||
--- config
|
||||
location /foo {
|
||||
more_set_headers 'Vary: gbk';
|
||||
echo hello;
|
||||
}
|
||||
location /len {
|
||||
default_type 'text/plain';
|
||||
more_set_headers 'Vary: hello';
|
||||
proxy_pass http://127.0.0.1:$server_port/foo;
|
||||
}
|
||||
--- request
|
||||
GET /len
|
||||
--- response_headers
|
||||
Vary: hello
|
||||
--- response_body
|
||||
hello
|
||||
|
||||
Reference in New Issue
Block a user