annotate uwsgi_ssl.t @ 1961:fe6f22da53ec default tip

Tests: tests for usage of discarded body. The client_max_body_size limit should be ignored when the request body is already discarded. In HTTP/1.x, this is done by checking the r->discard_body flag when the body is being discarded, and because r->headers_in.content_length_n is 0 when it's already discarded. This, however, does not happen with HTTP/2 and HTTP/3, and therefore "error_page 413" does not work without relaxing the limit. Further, with proxy_pass, r->headers_in.content_length_n is used to determine length of the request body, and therefore is not correct if discarding of the request body isn't yet complete. While discarding the request body, r->headers_in.content_length_n contains the rest of the body to discard (or, in case of chunked request body, the rest of the current chunk to discard). Similarly, the $content_length variable uses r->headers_in.content_length if available, and also incorrect. The $content_length variable is used when proxying with fastcgi_pass, grpc_pass, and uwsgi_pass (scgi_pass uses the value calculated based on the actual request body buffers, and therefore works correctly).
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 27 Apr 2024 18:55:50 +0300
parents 1b9f21836f57
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1575
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 #!/usr/bin/perl
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 # (C) Maxim Dounin
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4 # (C) Nginx, Inc.
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 # Test for uwsgi backend with SSL.
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 ###############################################################################
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10 use warnings;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 use strict;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
12
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13 use Test::More;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14 use Socket qw/ CRLF /;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16 BEGIN { use FindBin; chdir($FindBin::Bin); }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18 use lib 'lib';
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19 use Test::Nginx;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 ###############################################################################
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23 select STDERR; $| = 1;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 select STDOUT; $| = 1;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 my $t = Test::Nginx->new()->has(qw/http uwsgi http_ssl/)
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 ->has_daemon('uwsgi')->has_daemon('openssl')->plan(7)
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 ->write_file_expand('nginx.conf', <<'EOF');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30 %%TEST_GLOBALS%%
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 daemon off;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
34 events {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 http {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 %%TEST_GLOBALS_HTTP%%
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 upstream u {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 server 127.0.0.1:8081;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
44 server {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45 listen 127.0.0.1:8080;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 server_name localhost;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
47
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
48 location / {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
49 uwsgi_pass suwsgi://127.0.0.1:8081;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
50 uwsgi_param SERVER_PROTOCOL $server_protocol;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
51 uwsgi_param HTTP_X_BLAH "blah";
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52 uwsgi_pass_request_body off;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
54
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 location /var {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 uwsgi_pass suwsgi://$arg_b;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 uwsgi_param SERVER_PROTOCOL $server_protocol;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 EOF
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64 $t->write_file('openssl.conf', <<EOF);
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65 [ req ]
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 default_bits = 2048
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
67 encrypt_key = no
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68 distinguished_name = req_distinguished_name
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 [ req_distinguished_name ]
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
70 EOF
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
71
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
72 my $d = $t->testdir();
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
73 my $crt = "$d/uwsgi.crt";
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
74 my $key = "$d/uwsgi.key";
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
75
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76 foreach my $name ('uwsgi') {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
77 system('openssl req -x509 -new '
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
78 . "-config $d/openssl.conf -subj /CN=$name/ "
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79 . "-out $d/$name.crt -keyout $d/$name.key "
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
80 . ">>$d/openssl.out 2>&1") == 0
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
81 or die "Can't create certificate for $name: $!\n";
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
82 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
83
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
84 $t->write_file('uwsgi_test_app.py', <<END);
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
85
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
86 def application(env, start_response):
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
87 start_response('200 OK', [('Content-Type','text/plain')])
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
88 return b"SEE-THIS"
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
89
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
90 END
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
91
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92 my $uwsgihelp = `uwsgi -h`;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93 my @uwsgiopts = ();
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
95 if ($uwsgihelp !~ /--wsgi-file/) {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96 # uwsgi has no python support, maybe plugin load is necessary
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
97 push @uwsgiopts, '--plugin', 'python';
1598
f069dd7ba5a7 Tests: compatibility with uwsgi python package on Fedora Linux.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1575
diff changeset
98 push @uwsgiopts, '--plugin', 'python3';
1575
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
99 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
100
1923
1b9f21836f57 Tests: enabled TLSv1 in uwsgi SSL tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1693
diff changeset
101 if ($uwsgihelp =~ /--ssl-enable-tlsv1/) {
1b9f21836f57 Tests: enabled TLSv1 in uwsgi SSL tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1693
diff changeset
102 # uwsgi disables TLSv1 by default since 2.0.17.1
1b9f21836f57 Tests: enabled TLSv1 in uwsgi SSL tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1693
diff changeset
103 push @uwsgiopts, '--ssl-enable-tlsv1';
1b9f21836f57 Tests: enabled TLSv1 in uwsgi SSL tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1693
diff changeset
104 }
1b9f21836f57 Tests: enabled TLSv1 in uwsgi SSL tests.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1693
diff changeset
105
1598
f069dd7ba5a7 Tests: compatibility with uwsgi python package on Fedora Linux.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1575
diff changeset
106 open OLDERR, ">&", \*STDERR; close STDERR;
1575
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
107 $t->run_daemon('uwsgi', @uwsgiopts,
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
108 '--ssl-socket', '127.0.0.1:' . port(8081) . ",$crt,$key",
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
109 '--wsgi-file', $d . '/uwsgi_test_app.py',
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
110 '--logto', $d . '/uwsgi_log');
1598
f069dd7ba5a7 Tests: compatibility with uwsgi python package on Fedora Linux.
Sergey Kandaurov <pluknet@nginx.com>
parents: 1575
diff changeset
111 open STDERR, ">&", \*OLDERR;
1575
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
112
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113 $t->run();
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
114
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115 $t->waitforsocket('127.0.0.1:' . port(8081))
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
116 or die "Can't start uwsgi";
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
117
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
118 ###############################################################################
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
119
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
120 like(http_get('/'), qr/SEE-THIS/, 'uwsgi request');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
121 like(http_head('/head'), qr/200 OK(?!.*SEE-THIS)/s, 'no data in HEAD');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
122
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
123 like(http_get_headers('/headers'), qr/SEE-THIS/,
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
124 'uwsgi request with many ignored headers');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
125
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
126 like(http_get('/var?b=127.0.0.1:' . port(8081)), qr/SEE-THIS/,
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
127 'uwsgi with variables');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128 like(http_get('/var?b=u'), qr/SEE-THIS/, 'uwsgi with variables to upstream');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
129
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
130 like(http_post('/'), qr/SEE-THIS/, 'uwsgi post');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
131 like(http_post_big('/'), qr/SEE-THIS/, 'uwsgi big post');
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
132
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
133 ###############################################################################
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
134
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
135 sub http_get_headers {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
136 my ($url, %extra) = @_;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
137 return http(<<EOF, %extra);
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
138 GET $url HTTP/1.0
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
139 Host: localhost
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
140 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
141 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
142 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
143 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
144 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
145 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
146 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
147 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
148 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
149 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
150 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
151 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
152 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
153 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
154 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
155 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
156 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
157 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
158 X-Blah: ignored header
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
159
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
160 EOF
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
161 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
162
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
163 sub http_post {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
164 my ($url, %extra) = @_;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
165
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
166 my $p = "POST $url HTTP/1.0" . CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
167 "Host: localhost" . CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
168 "Content-Length: 10" . CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
169 CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
170 "1234567890";
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
171
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
172 return http($p, %extra);
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
173 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
174
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
175 sub http_post_big {
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
176 my ($url, %extra) = @_;
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
177
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
178 my $p = "POST $url HTTP/1.0" . CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
179 "Host: localhost" . CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
180 "Content-Length: 10240" . CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
181 CRLF .
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
182 ("1234567890" x 1024);
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
183
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
184 return http($p, %extra);
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
185 }
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
186
577e72267fec Tests: uwsgi tests with SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
187 ###############################################################################