… | |
… | |
88 | use HTTP::Date; |
88 | use HTTP::Date; |
89 | |
89 | |
90 | sub new { |
90 | sub new { |
91 | my $class = shift; |
91 | my $class = shift; |
92 | my $fh = shift; |
92 | my $fh = shift; |
93 | my (undef, $iaddr) = unpack_sockaddr_in $fh->getpeername |
93 | my (undef, $iaddr) = unpack_sockaddr_in $fh->peername |
94 | or $self->err(500, "unable to get peername"); |
94 | or $self->err(500, "unable to get peername"); |
95 | $self->{remote_address} = inet_ntoa $iaddr; |
95 | $self->{remote_address} = inet_ntoa $iaddr; |
96 | bless { fh => $fh }, $class; |
96 | bless { fh => $fh }, $class; |
97 | } |
97 | } |
98 | |
98 | |
… | |
… | |
206 | $self->{path} = "$::DOCROOT/$host$uri"; |
206 | $self->{path} = "$::DOCROOT/$host$uri"; |
207 | } |
207 | } |
208 | |
208 | |
209 | sub server_address { |
209 | sub server_address { |
210 | my $self = shift; |
210 | my $self = shift; |
211 | my ($port, $iaddr) = unpack_sockaddr_in $self->{fh}->getsockname |
211 | my ($port, $iaddr) = unpack_sockaddr_in $self->{fh}->sockname |
212 | or $self->err(500, "unable to get socket name"); |
212 | or $self->err(500, "unable to get socket name"); |
213 | ((inet_ntoa $iaddr), $port); |
213 | ((inet_ntoa $iaddr), $port); |
214 | } |
214 | } |
215 | |
215 | |
216 | sub server_host { |
216 | sub server_host { |