App-htmlcat
view release on metacpan or search on metacpan
lib/App/htmlcat.pm view on Meta::CPAN
$env->{'psgi.streaming'} or die 'psgi.streaming not supported';
if ($env->{PATH_INFO} eq '/stream') {
return sub {
my $respond = shift;
my $remote_addr = $env->{REMOTE_ADDR};
my $writer = $respond->([
200, [
'Content-Type' => 'text/event-stream; charset=utf-8',
'Cache-Control' => 'no-cache'
]
]);
my $io = $env->{'psgix.io'};
my $handle = AnyEvent::Handle->new(
fh => $io,
on_error => sub {
my ($handle, $fatal, $message) = @_;
warn "client [$remote_addr]: $message\n";
lib/App/htmlcat.pm view on Meta::CPAN
handle => $handle,
writer => $writer, # keep reference
};
$self->{in}->on_read($self->_on_read_cb);
};
} elsif ($env->{PATH_INFO} eq '/css') {
return [ 200, [ 'Content-Type' => 'text/css' ], [ $self->{ansi}->css ] ];
} elsif ($env->{PATH_INFO} eq '/js') {
return [ 200, [ 'Content-Type' => 'text/javascript' ], [ get_data_section('js') ] ];
} elsif ($env->{PATH_INFO} eq '/') {
return [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ get_data_section('html') ] ];
} else {
return [ 404, [], [] ];
}
};
}
sub run {
my $self = shift;
my $runner = Plack::Runner->new(app => $self->as_psgi);
$runner->parse_options(
( run in 0.648 second using v1.01-cache-2.11-cpan-4d50c553e7e )