… | |
… | |
81 | my $peername = shift; |
81 | my $peername = shift; |
82 | my $fh = shift; |
82 | my $fh = shift; |
83 | my $self = bless { fh => $fh }, $class; |
83 | my $self = bless { fh => $fh }, $class; |
84 | my (undef, $iaddr) = unpack_sockaddr_in $peername |
84 | my (undef, $iaddr) = unpack_sockaddr_in $peername |
85 | or $self->err(500, "unable to decode peername"); |
85 | or $self->err(500, "unable to decode peername"); |
|
|
86 | |
86 | $self->{remote_addr} = inet_ntoa $iaddr; |
87 | $self->{remote_addr} = inet_ntoa $iaddr; |
87 | |
88 | |
88 | # enter ourselves into various lists |
89 | # enter ourselves into various lists |
89 | weaken ($conn{$self->{remote_addr}}{$self*1} = $self); |
90 | weaken ($conn{$self->{remote_addr}}{$self*1} = $self); |
90 | |
91 | |
… | |
… | |
244 | |
245 | |
245 | $self->{name} = $uri; |
246 | $self->{name} = $uri; |
246 | |
247 | |
247 | # now do the path mapping |
248 | # now do the path mapping |
248 | $self->{path} = "$::DOCROOT/$host$uri"; |
249 | $self->{path} = "$::DOCROOT/$host$uri"; |
|
|
250 | |
|
|
251 | $self->access_check; |
249 | } |
252 | } |
250 | |
253 | |
251 | sub server_address { |
254 | sub server_address { |
252 | my $self = shift; |
255 | my $self = shift; |
253 | my ($port, $iaddr) = unpack_sockaddr_in $self->{fh}->getsockname |
256 | my ($port, $iaddr) = unpack_sockaddr_in $self->{fh}->getsockname |