X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FHTTP.pm;h=10e6d6a43b518115c7eece8a5f11e67ebe613fb2;hp=e73bd810af39ab86075931c195b3ea254fff83b8;hb=b6f480ed58abc5ae2a426ef4f792621b9d3cf283;hpb=17b71a0c6265677275718771b35adb08ed480db8 diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index e73bd810..10e6d6a4 100644 --- a/lib/PublicInbox/HTTP.pm +++ b/lib/PublicInbox/HTTP.pm @@ -10,7 +10,7 @@ package PublicInbox::HTTP; use strict; use warnings; -use base qw(Danga::Socket); +use base qw(PublicInbox::DS); use fields qw(httpd env rbuf input_left remote_addr remote_port forward pull); use bytes (); # only for bytes::length use Fcntl qw(:seek); @@ -18,6 +18,7 @@ use Plack::HTTPParser qw(parse_http_request); # XS or pure Perl use HTTP::Status qw(status_message); use HTTP::Date qw(time2str); use IO::Handle; +require PublicInbox::EvCleanup; use constant { CHUNK_START => -1, # [a-f0-9]+\r\n CHUNK_END => -2, # \r\n @@ -63,7 +64,7 @@ sub new ($$$) { $self; } -sub event_read { # called by Danga::Socket +sub event_read { # called by PublicInbox::DS my ($self) = @_; return event_read_input($self) if defined $self->{env}; @@ -148,7 +149,7 @@ sub app_dispatch { sysseek($input, 0, SEEK_SET) or die "BUG: psgi.input seek failed: $!"; } - # note: NOT $self->{sock}, we want our close (+ Danga::Socket::close), + # note: NOT $self->{sock}, we want our close (+ PublicInbox::DS::close), # to do proper cleanup: $env->{'psgix.io'} = $self; # only for ->close my $res = Plack::Util::run_app($self->{httpd}->{app}, $env); @@ -256,7 +257,7 @@ sub getline_cb ($$$) { if ($forward) { my $buf = eval { $forward->getline }; if (defined $buf) { - $write->($buf); # may close in Danga::Socket::write + $write->($buf); # may close in PublicInbox::DS::write unless ($self->{closed}) { my $next = $self->{pull}; if ($self->{write_buf_size}) { @@ -320,7 +321,7 @@ sub more ($$) { my $nlen = length($_[1]) - $n; return 1 if $nlen == 0; # all done! - # Danga::Socket::write queues the unwritten substring: + # PublicInbox::DS::write queues the unwritten substring: return $self->write(substr($_[1], $n, $nlen)); } } @@ -465,7 +466,7 @@ sub quit { $self->close; } -# callbacks for Danga::Socket +# callbacks for PublicInbox::DS sub event_hup { $_[0]->close } sub event_err { $_[0]->close }