annotate lib/Test/Nginx/Stream.pm @ 1960:e44ee916b959

Tests: adjusted http_headers_multi.t for $content_length changes. The $content_length variable is going to be not available after discarding the request body. As such, the relevant location is now proxied, so the request body is not discarded.
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 27 Apr 2024 18:55:21 +0300
parents dbb7561a9441
children 6d3a8f4eb9b2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
1 package Test::Nginx::Stream;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
2
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
3 # (C) Andrey Zelenkov
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
4 # (C) Nginx, Inc.
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
5
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
6 # Module for nginx stream tests.
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
7
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
8 ###############################################################################
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
9
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
10 use warnings;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
11 use strict;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
12
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
13 use base qw/ Exporter /;
868
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
14 our @EXPORT_OK = qw/ stream dgram /;
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
15
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
16 use Test::More qw//;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
17 use IO::Select;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
18 use IO::Socket;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
19
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
20 use Test::Nginx;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
21
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
22 sub stream {
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
23 return Test::Nginx::Stream->new(@_);
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
24 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
25
868
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
26 sub dgram {
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
27 unshift(@_, "PeerAddr") if @_ == 1;
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
28
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
29 return Test::Nginx::Stream->new(
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
30 Proto => "udp",
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
31 @_
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
32 );
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
33 }
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
34
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
35 sub new {
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
36 my $self = {};
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
37 bless $self, shift @_;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
38
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
39 unshift(@_, "PeerAddr") if @_ == 1;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
40
1863
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
41 eval {
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
42 local $SIG{ALRM} = sub { die "timeout\n" };
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
43 local $SIG{PIPE} = sub { die "sigpipe\n" };
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
44 alarm(8);
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
45
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
46 $self->{_socket} = IO::Socket::INET->new(
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
47 Proto => "tcp",
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
48 PeerAddr => '127.0.0.1',
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
49 @_
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
50 )
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
51 or die "Can't connect to nginx: $!\n";
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
52
1863
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
53 if ({@_}->{'SSL'}) {
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
54 require IO::Socket::SSL;
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
55 IO::Socket::SSL->start_SSL(
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
56 $self->{_socket},
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
57 SSL_verify_mode =>
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
58 IO::Socket::SSL::SSL_VERIFY_NONE(),
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
59 @_
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
60 )
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
61 or die $IO::Socket::SSL::SSL_ERROR . "\n";
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
62
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
63 my $s = $self->{_socket};
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
64 log_in("ssl cipher: " . $s->get_cipher());
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
65 log_in("ssl cert: " . $s->peer_certificate('issuer'));
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
66 }
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
67
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
68 alarm(0);
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
69 };
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
70 alarm(0);
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
71 if ($@) {
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
72 log_in("died: $@");
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
73 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
74
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
75 $self->{_socket}->autoflush(1);
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
76
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
77 return $self;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
78 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
79
1863
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
80 sub DESTROY {
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
81 my $self = shift;
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
82 $self->{_socket}->close();
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
83 }
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
84
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
85 sub write {
935
25a4b2fdd3fb Tests: I/O timeout options introduced in Stream.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 875
diff changeset
86 my ($self, $message, %extra) = @_;
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
87 my $s = $self->{_socket};
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
88
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
89 local $SIG{PIPE} = 'IGNORE';
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
90
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
91 $s->blocking(0);
935
25a4b2fdd3fb Tests: I/O timeout options introduced in Stream.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 875
diff changeset
92 while (IO::Select->new($s)->can_write($extra{write_timeout} || 1.5)) {
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
93 my $n = $s->syswrite($message);
1852
1197c152215b Tests: fixed warning in case of a closed stream.
Eugene Grebenschikov <e.grebenshchikov@nginx.com>
parents: 1825
diff changeset
94 last unless $n;
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
95 log_out(substr($message, 0, $n));
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
96
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
97 $message = substr($message, $n);
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
98 last unless length $message;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
99 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
100
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
101 if (length $message) {
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
102 $s->close();
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
103 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
104 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
105
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
106 sub read {
935
25a4b2fdd3fb Tests: I/O timeout options introduced in Stream.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 875
diff changeset
107 my ($self, %extra) = @_;
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
108 my ($s, $buf);
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
109
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
110 $s = $self->{_socket};
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
111
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
112 $s->blocking(0);
1825
3629eda94c1b Tests: handling of EWOULDBLOCK from sysread() with IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1824
diff changeset
113 while (IO::Select->new($s)->can_read($extra{read_timeout} || 8)) {
3629eda94c1b Tests: handling of EWOULDBLOCK from sysread() with IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1824
diff changeset
114 my $n = $s->sysread($buf, 1024);
3629eda94c1b Tests: handling of EWOULDBLOCK from sysread() with IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1824
diff changeset
115 next if !defined $n && $!{EWOULDBLOCK};
3629eda94c1b Tests: handling of EWOULDBLOCK from sysread() with IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1824
diff changeset
116 last;
1824
5d3aee48ed8e Tests: style.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1423
diff changeset
117 }
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
118
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
119 log_in($buf);
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
120 return $buf;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
121 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
122
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
123 sub io {
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
124 my $self = shift;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
125
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
126 my ($data, %extra) = @_;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
127 my $length = $extra{length};
868
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
128 my $read = $extra{read};
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
129
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
130 $read = 1 if !defined $read
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
131 && $self->{_socket}->socktype() == &SOCK_DGRAM;
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
132
935
25a4b2fdd3fb Tests: I/O timeout options introduced in Stream.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 875
diff changeset
133 $self->write($data, %extra);
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
134
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
135 $data = '';
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
136 while (1) {
868
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
137 last if defined $read && --$read < 0;
d2cb9ed7412e Tests: stream udp tests.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 816
diff changeset
138
935
25a4b2fdd3fb Tests: I/O timeout options introduced in Stream.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 875
diff changeset
139 my $buf = $self->read(%extra);
875
c380b4b7e2e4 Tests: compatibility with perl < 5.12 in Stream.pm.
Andrey Zelenkov <zelenkov@nginx.com>
parents: 868
diff changeset
140 last unless defined $buf and length($buf);
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
141
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
142 $data .= $buf;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
143 last if defined $length && length($data) >= $length;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
144 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
145
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
146 return $data;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
147 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
148
1024
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
149 sub sockaddr {
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
150 my $self = shift;
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
151 return $self->{_socket}->sockaddr();
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
152 }
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
153
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
154 sub sockhost {
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
155 my $self = shift;
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
156 return $self->{_socket}->sockhost();
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
157 }
91e64c1ceec9 Tests: stream access_log tests.
Sergey Kandaurov <pluknet@nginx.com>
parents: 969
diff changeset
158
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
159 sub sockport {
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
160 my $self = shift;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
161 return $self->{_socket}->sockport();
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
162 }
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
163
1863
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
164 sub socket {
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
165 my ($self) = @_;
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
166 $self->{_socket};
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
167 }
dbb7561a9441 Tests: reworked stream SSL tests to use IO::Socket::SSL.
Maxim Dounin <mdounin@mdounin.ru>
parents: 1852
diff changeset
168
816
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
169 ###############################################################################
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
170
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
171 1;
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
172
77359b849cd5 Tests: stream package.
Andrey Zelenkov <zelenkov@nginx.com>
parents:
diff changeset
173 ###############################################################################