APR-Emulate-PSGI
view release on metacpan or search on metacpan
lib/APR/Emulate/PSGI.pm view on Meta::CPAN
sub rflush {}
=back
=cut
# See APR::Table in mod_perl 2 distribution.
package APR::MyTable;
sub make {
return bless {}, __PACKAGE__;
}
sub copy {
my ($self) = @_;
my %copy = %$self;
return bless \%copy, ref($self);
}
sub clear {
my ($self) = @_;
my (@keys) = keys %$self;
foreach my $key (@keys) {
delete $self->{$key};
}
return 1;
}
sub set {
my ($self, @pairs) = @_;
while (@pairs) {
my ($key, $value) = splice(@pairs, 0, 2);
$self->{$key} = $value;
}
return 1;
}
sub unset {
my ($self, @keys) = @_;
foreach my $key (@keys) {
delete $self->{$key};
}
return 1;
}
sub add {
# TODO: When implemented properly, this should allow duplicate keys.
my ($self, $key, $value) = @_;
$self->{$key} = $value;
return 1;
}
sub get {
# TODO: When implemented properly, this should allow duplicate keys.
my ($self, $key) = @_;
return $self->{$key};
}
sub merge {
# TODO: Not yet implemented.
return undef;
}
sub do {
my ($self, $code, @keys) = @_;
@keys = keys %$self if (scalar(@keys) == 0);
foreach my $key (@keys) {
$code->($key, $self->{$key});
}
return 1;
}
package APR::MyPool;
sub new {
bless {}, $_[0];
}
sub cleanup_register {
my ($self, $code, @args) = @_;
foreach my $arg (@args) {
$code->($arg);
}
return 1;
}
1;
__END__
=head1 SEE ALSO
=over 4
=item Plack
=item CGI::Emulate::PSGI
=back
=head1 AUTHOR
Nathan Gray, E<lt>kolibrie@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2013, 2014 by Nathan Gray
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.14.2 or,
at your option, any later version of Perl 5 you may have available.
=cut
( run in 1.455 second using v1.01-cache-2.11-cpan-d80b1682f3f )