Cogwheel
view release on metacpan or search on metacpan
ex/httpd.pl view on Meta::CPAN
isa => 'Bool',
is => 'ro',
default => sub { 0 },
);
no Cogwheel;
}
{
package My::HTTP::Request;
use Moose;
has raw => (
isa => 'HTTP::Request',
is => 'rw',
handles => [qw(protocol uri header)],
);
has start_time => (
isa => 'Str',
is => 'ro',
default => sub { time() },
);
ex/httpd.pl view on Meta::CPAN
);
no Moose;
__PACKAGE__->meta->make_immutable;
}
{
package My::HTTP::Server::Plugin;
use Cogwheel;
use HTTP::Request;
use HTTP::Response;
use HTTP::Status qw( status_message is_info RC_BAD_REQUEST );
use POE qw(Filter::HTTPD);
use Time::HiRes qw( time );
use HTTP::Date;
extends qw(Cogwheel::Plugin);
sub OK() { 1 }
sub DEFER() { 0 }
sub BAD() { undef }
has request => (
isa => 'My::HTTP::Request',
is => 'rw',
predicate => 'has_request',
clearer => 'clear_request',
lazy => 1,
default => sub { My::HTTP::Request->new() },
handles => [qw(content has_content content_length)],
);
has response => (
isa => 'HTTP::Response',
is => 'rw',
lazy => 1,
predicate => 'has_response',
default => sub { HTTP::Response->new(500) },
);
( run in 0.392 second using v1.01-cache-2.11-cpan-de7293f3b23 )