MikroTik-API

 view release on metacpan or  search on metacpan

META.yml  view on Meta::CPAN

  version: 1.4
name: MikroTik-API
no_index:
  directory:
    - inc
    - t
requires:
  Carp: 0
  Digest::MD5: 0
  IO::Socket::IP: 0
  IO::Socket::SSL: 0
  Moo: 0
  MooX::Types::MooseLike::Base: 0
  Time::Out: 0
  Try::Tiny: 0
  Type::Tiny: 0
  namespace::autoclean: 0
  perl: 5.6.0
resources:
  bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=MikroTik-API
  license: http://www.opensource.org/licenses/mit-license.php

Makefile.PL  view on Meta::CPAN

);

build_requires (
   'Test::More' => 0,
);

requires (
	'Carp' => 0,
    'Digest::MD5' => 0,
    'IO::Socket::IP' => 0,
    'IO::Socket::SSL' => 0,
	'Moo' => 0,
	'MooX::Types::MooseLike::Base' => 0,
    'Time::Out' => 0,
	'Try::Tiny' => 0,
	'Type::Tiny' => 0,
    'namespace::autoclean' => 0,
);

install_as_cpan;
auto_install;

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


    $api->logout();

=head1 DESCRIPTION

=cut

use Carp qw(croak);
use Digest::MD5;
use IO::Socket::IP;
use IO::Socket::SSL;
use Moo;
use MooX::Types::MooseLike::Base qw(Bool CodeRef Int Str);
use Time::Out qw{ timeout };
use Try::Tiny;
use Type::Tiny;
use namespace::autoclean;


=head1 PUBLIC METHODS

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

sub connect {
    my ( $self ) = @_;

    if ( ! $self->get_host() ) {
        croak 'host must be set before connect()'
    }

    if ( $self->get_use_ssl ) {
        my $socket
            = try {
                IO::Socket::SSL->new(
                    PeerHost        => $self->get_host,
                    PeerPort        => $self->get_port,
                    Proto           => 'tcp',
                    SSL_cipher_list => 'HIGH',
                    SSL_verify_mode => $self->get_ssl_verify(),
                    Timeout         => $self->get_timeout,
                );
            }
            catch {
                croak sprintf
                    'failed connect %s:%s or ssl handshake (%s: %s)',
                    $self->get_host,
                    $self->get_port,
                    $_,
                    IO::Socket::SSL::errstr();
            };
        # obsolete?
        $socket
            or croak sprintf
                'failed connect %s:%s or ssl handshake (%s: %s)',
                $self->get_host,
                $self->get_port,
                $!,
                IO::Socket::SSL::errstr();
        $self->set_socket($socket);
    }
    else {
        $self->set_socket(
            IO::Socket::IP->new(
                PeerHost => $self->get_host,
                PeerPort => $self->get_port,
                Proto    => 'tcp',
                Timeout  => $self->get_timeout,
            )



( run in 0.508 second using v1.01-cache-2.11-cpan-4d50c553e7e )