API-CPanel
view release on metacpan or search on metacpan
lib/API/CPanel.pm view on Meta::CPAN
user => $user_name,
} );
unless ( $resume_result ) {
die "Cannot resumeaccount";
}
# Delete account
my $delete_result = API::CPanel::user::delete( {
%{ $connection_params },
user => $user_name,
} );
unless ( $delete_result ) {
die "Cannot delete account";
}
=cut
# Last raw answer from server
our $last_answer = '';
# Public!
sub is_ok {
my $answer = shift;
return 1 if $answer && ( ref $answer eq 'HASH' || ref $answer eq 'ARRAY' );
}
sub get_error {
my $answer = shift;
return '' if is_success( $answer ); # ok == no error
return Dumper( $answer->{statusmsg } );
}
# Get data from @_
sub get_params {
my @params = @_;
if (scalar @params == 1 && ref $params[0] eq 'HASH' ) {
return { %{ $params[0] } };
} else {
return { @params };
}
}
# Make query string
# STATIC(HASHREF: params)
sub mk_query_string {
my $params = shift;
return '' unless $params &&
ref $params eq 'HASH' && %$params ;
my $result = join '&', map { "$_=$params->{$_}" } sort keys %$params;
warn $result if $DEBUG;
return $result;
}
# Kill slashes at start / end string
# STATIC(STRING:input_string)
sub kill_start_end_slashes {
my $str = shift;
for ($str) {
s/^\/+//sgi;
s/\/+$//sgi;
}
return $str;
}
# Make full query string (with host, path and protocol)
# STATIC(HASHREF: params)
# params:
# host*
# path
# allow_http
# param1
# param2
# ...
sub mk_full_query_string {
my $params = shift;
return '' unless
$params &&
ref $params eq 'HASH' &&
%$params &&
$params->{host} &&
$params->{func};
my $host = delete $params->{host};
my $path = delete $params->{path} || '';
my $allow_http = delete $params->{allow_http} || '';
my $func = delete $params->{func};
unless ($path) {
$path = 'xml-api';
}
$path = kill_start_end_slashes( $path );
$host = kill_start_end_slashes( $host );
$func = kill_start_end_slashes( $func );
my $query_path = ( $allow_http ? 'http' : 'https' ) . "://$host:2087/$path/$func";
return %$params ? $query_path . '?' . mk_query_string( $params ) : $query_path;
}
# Make request to server and get answer
# STATIC (STRING: query_string)
sub mk_query_to_server {
my $auth_hash = shift;
( run in 1.288 second using v1.01-cache-2.11-cpan-140bd7fdf52 )