Viewing File: /usr/local/cpanel/whostmgr/docroot/cgi/imunify/handlers/Imunify/Wrapper.pm
package Imunify::Wrapper;
use strict;
use warnings FATAL => 'all';
use Encode;
use Data::Dumper;
use File::HomeDir;
use File::Basename;
use IO::Handle;
use Imunify::Exception;
use Imunify::Render;
use Imunify::Utils;
use Imunify::Config;
use Cpanel::JSON;
#use CGI::Carp qw(fatalsToBrowser); # uncomment to debug 500 error
sub execute {
my ($request, $isWHM) = @_;
my %data = ();
$data{'command'} = \@{$request->{'method'}};
$data{'params'} = $request->{'params'};
$data{'params'}{'remote_addr'} = $ENV{REMOTE_ADDR};
return Imunify::Utils::execute('execute', \%data, $isWHM);
}
sub request {
my ($request, $isWHM) = @_;
my $response = execute($request, $isWHM);
Imunify::Render::JSONHeader(Imunify::Render->HTTP_STATUS_OK);
print $response;
}
sub imunfyEmailRequest {
my ($request, $isWHM) = @_;
my %data = ();
$data{'username'} = $ENV{REMOTE_USER};
$data{'command'} = \@{$request->{'method'}};
$data{'params'} = $request->{'params'};
my $response = Imunify::Utils::execute('imunifyEmail', \%data, $isWHM);
Imunify::Render::JSONHeader(Imunify::Render->HTTP_STATUS_OK);
print $response;
}
sub upload {
my ($cgi, $isWHM) = @_;
my ($tmpPath);
my %data = (
'files' => {},
);
foreach my $file ($cgi->param('files[]')) {
$tmpPath = $cgi->tmpFileName($file);
$data{'files'}{$tmpPath} = "$file";
}
return Imunify::Utils::execute('uploadFile', \%data, $isWHM);
}
1;
Back to Directory
File Manager