84 lines
1.6 KiB
Perl
84 lines
1.6 KiB
Perl
package params;
|
|
|
|
use warnings "all";
|
|
use strict;
|
|
|
|
use Data::Dumper;
|
|
use CGI();
|
|
use Apache2::Request();
|
|
|
|
use base 'Exporter';
|
|
our @EXPORT_OK = qw(get isJson);
|
|
|
|
sub debug;
|
|
my $isJson = 0;
|
|
|
|
sub isJson {
|
|
return $isJson;
|
|
}
|
|
|
|
sub get {
|
|
|
|
#get the Apache2::RequestRec
|
|
my $r = shift;
|
|
|
|
my $tmp_dir = '/var/tmp/';
|
|
my $upload_limit = 1000 * 1024;
|
|
|
|
my $cgi = undef;
|
|
my $status = undef;
|
|
my $params = {};
|
|
|
|
$isJson = 0;
|
|
|
|
if ( defined $r ) {
|
|
|
|
#print STDERR "Apache2::Request\n";
|
|
#get Apache2::Request
|
|
my $req = Apache2::Request->new( $r, POST_MAX => $upload_limit, TEMP_DIR => $tmp_dir );
|
|
|
|
for my $key ( $req->param ) {
|
|
$params->{ scalar($key) } = scalar( $req->param($key) );
|
|
}
|
|
|
|
#copy params to hash
|
|
#my $body=$req->body();
|
|
#if (defined $body){
|
|
# for my $key (keys %$body){
|
|
# $params->{scalar($key)}=scalar($req->param($key));
|
|
# }
|
|
#}
|
|
$status = $req->parse; #parse
|
|
} else {
|
|
|
|
#print STDERR "CGI\n";
|
|
$CGI::POST_MAX = $upload_limit;
|
|
$CGI::TMPDIRECTORY = $tmp_dir;
|
|
$cgi = new CGI();
|
|
$status = $cgi->cgi_error() || $status;
|
|
my %params = $cgi->Vars();
|
|
$params = \%params;
|
|
}
|
|
$cgi = new CGI() unless ( defined $cgi );
|
|
|
|
$isJson = 1 if ( defined $params->{json} ) && ( $params->{json} eq '1' );
|
|
|
|
if ( defined $status ) {
|
|
$status = '' if ( $status eq 'Success' );
|
|
$status = '' if ( $status eq 'Missing input data' );
|
|
print $cgi->header . $status . "\n" if ( $status ne '' );
|
|
}
|
|
|
|
#print STDERR Dumper($params);
|
|
#print $cgi->header.Dumper($params).$status;
|
|
|
|
return ( $cgi, $params, $status );
|
|
}
|
|
|
|
sub debug {
|
|
my $message = shift;
|
|
}
|
|
|
|
#do not delete last line!
|
|
1;
|