API-ISPManager
view release on metacpan or search on metacpan
lib/API/ISPManager.pm view on Meta::CPAN
elid => $user_login,
} );
unless ( $resume_result ) {
die "Cannot suspend account";
}
# Delete account
my $delete_result = API::ISPManager::user::delete( {
%{ $connection_params },
elid => $login,
} );
unless ( $delete_result ) {
die "Cannot delete account";
}
=cut
# Last raw answer from server
our $last_answer = '';
# Public!
sub is_ok {
my $answer = shift;
return '' unless $answer && ref $answer eq 'HASH' && $answer->{success};
}
sub get_error {
my $answer = shift;
return '' if is_ok($answer); # ok == no error
return Dumper( $answer->{error} );
}
# 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};
my $host = delete $params->{host};
my $path = delete $params->{path} || '';
my $allow_http = delete $params->{allow_http} || '';
unless ($path) {
$path = 'manager';
}
$path = kill_start_end_slashes($path);
$host = kill_start_end_slashes($host);
my $query_path = ( $allow_http ? 'http' : 'https' ) . "://$host/$path/ispmgr?";
return %$params ? $query_path . mk_query_string($params) : '';
}
# Make request to server and get answer
# STATIC (STRING: query_string)
sub mk_query_to_server {
my $query_string = shift;
return '' unless $query_string;
warn "Query string: $query_string\n" if $DEBUG;
( run in 1.583 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )