ASP4
view release on metacpan or search on metacpan
lib/ASP4/SimpleCGI.pm view on Meta::CPAN
{
if( ref($s->{params}->{$key}) )
{
return wantarray ? ref($s->{params}->{$key}) eq 'ARRAY' ? @{ $s->{params}->{$key} } : $s->{params}->{$key} : $s->{params}->{$key};
}
else
{
return $s->{params}->{$key};
}# end if()
}
else
{
return keys(%{ $s->{params} });
}# end if()
}# end param()
*url_param = \¶m;
sub Vars { shift->{params} }
sub cookie
{
my $s = shift;
if( @_ )
{
my $name = shift;
if( exists( $s->{cookies}->{ $name } ) )
{
return $s->{cookies}->{ $name };
}
else
{
return;
}# end if()
}
else
{
return %{ $s->{cookies} };
}# end if()
}# end cookies()
sub escape
{
my $toencode = $_[1];
no warnings 'uninitialized';
$toencode =~ s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/esg;
$toencode;
}# end escape()
sub unescape
{
my ($s, $todecode) = @_;
return unless defined($todecode);
$todecode =~ tr/+/ /; # pluses become spaces
$todecode =~ s/%(?:([0-9a-fA-F]{2})|u([0-9a-fA-F]{4}))/
defined($1)? chr hex($1) : utf8_chr(hex($2))/ge;
return $todecode;
}# end unescape()
sub DESTROY
{
my $s = shift;
map {
close($s->{uploads}->{$_}->{filehandle});
unlink($s->{uploads}->{$_}->{tempname});
} keys(%{$s->{uploads}});
undef(%$s);
}# end DESTROY()
1;# return true:
=pod
=head1 NAME
ASP4::SimpleCGI - Basic CGI functionality
=head1 SYNOPSIS
use ASP4::SimpleCGI;
my $cgi = ASP4::SimpleCGI->new(
content_type => 'multipart/form-data',
content_length => 1200,
querystring => 'mode=create&uploadID=234234',
body => ...
);
my $val = $cgi->param('mode');
foreach my $key ( $cgi->param )
{
print $key . ' --> ' . $cgi->param( $key ) . "\n";
}# end foreach()
my $escaped = $cgi->escape( 'Hello world' );
my $unescaped = $cgi->unescape( 'Hello+world' );
my $upload = $cgi->upload('filename');
my $filehandle = $cgi->upload_info('filename', 'filehandle' );
=head1 DESCRIPTION
This package provides basic CGI functionality and is also used for testing and
in the API enironment.
C<ASP4::SimpleCGI> uses L<HTTP::Body> under the hood.
=head1 PUBLIC METHODS
=head2 new( %args )
Returns a new C<ASP4::SimpleCGI> object.
( run in 0.784 second using v1.01-cache-2.11-cpan-39bf76dae61 )