API-Plesk

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

use Module::Build;

my $build = Module::Build->new(
    module_name => 'API::Plesk',
    license     => 'perl',
    dist_author => 'Ivan Sokolov <ivsokolov@cpan.org>',
    requires    => {
        'Module::Build'   => 0,
        'Data::Dumper'    => 0,
        'LWP::UserAgent'  => 0,
        'HTTP::Request'   => 0,
        'Carp'            => 0,
        'XML::Fast'       => 0,
        'version'         => 0,
    },
    build_requires => {
        'Test::More'       => 0,
        'Test::LongString' => 0,
        'URI'              => 0,
    },
    create_makefile_pl => 'traditional',

META.json  view on Meta::CPAN

      },
      "configure" : {
         "requires" : {
            "Module::Build" : "0.40"
         }
      },
      "runtime" : {
         "requires" : {
            "Carp" : "0",
            "Data::Dumper" : "0",
            "HTTP::Request" : "0",
            "LWP::UserAgent" : "0",
            "Module::Build" : "0",
            "XML::Fast" : "0",
            "version" : "0"
         }
      }
   },
   "provides" : {
      "API::Plesk" : {
         "file" : "lib/API/Plesk.pm",

META.yml  view on Meta::CPAN

    version: 0
  API::Plesk::WebUser:
    file: lib/API/Plesk/WebUser.pm
    version: 0
  API::Plesk::Webspace:
    file: lib/API/Plesk/Webspace.pm
    version: 0
requires:
  Carp: 0
  Data::Dumper: 0
  HTTP::Request: 0
  LWP::UserAgent: 0
  Module::Build: 0
  XML::Fast: 0
  version: 0
resources:
  license: http://dev.perl.org/licenses/
version: 2.03

Makefile.PL  view on Meta::CPAN

# Note: this file was auto-generated by Module::Build::Compat version 0.4003
use ExtUtils::MakeMaker;
WriteMakefile
(
  'NAME' => 'API::Plesk',
  'VERSION_FROM' => 'lib/API/Plesk.pm',
  'PREREQ_PM' => {
                   'Carp' => 0,
                   'Data::Dumper' => 0,
                   'HTTP::Request' => 0,
                   'LWP::UserAgent' => 0,
                   'Module::Build' => 0,
                   'Test::LongString' => 0,
                   'Test::More' => 0,
                   'URI' => 0,
                   'XML::Fast' => 0,
                   'version' => 0
                 },
  'INSTALLDIRS' => 'site',
  'EXE_FILES' => [],

lib/API/Plesk.pm  view on Meta::CPAN


package API::Plesk;

use strict;
use warnings;

use Carp;
use Data::Dumper;

use HTTP::Request;
use LWP::UserAgent;
use XML::Fast;
use version;

use API::Plesk::Response;

our $VERSION = '2.03';

# creates accessors to components
# can support old interface of API::Plesk

lib/API/Plesk.pm  view on Meta::CPAN

        error     => $error,
    );
}

sub bulk_send { confess "Not implemented!" }

# Send xml request to plesk api
sub xml_http_req {
    my ($self, $xml) = @_;

    # HTTP::Request undestends only bytes
    utf8::encode($xml) if utf8::is_utf8($xml);

    my $ua = new LWP::UserAgent( parse_head => 0 );
    my $req = new HTTP::Request POST => $self->{url};

    if ($self->{secret_key}) {
        $req->push_header(':KEY',  $self->{secret_key});
    } else {
        $req->push_header(':HTTP_AUTH_LOGIN',  $self->{username});
        $req->push_header(':HTTP_AUTH_PASSWD', $self->{password});
    }
    $req->content_type('text/xml; charset=UTF-8');
    $req->content($xml);



( run in 0.386 second using v1.01-cache-2.11-cpan-de7293f3b23 )