API-BigBlueButton
view release on metacpan or search on metacpan
lib/API/BigBlueButton.pm view on Meta::CPAN
Ip-address or hostname in which the server is located. Required parameter.
secret
Shared secret. Required parameter.
timeout
Connection timeout. Optional parameter.
use_https
Use/not use https. Optional parameter.
=cut
sub new {
my $class = shift;
$class = ref $class || $class;
my $self = {
timeout => 30,
secret => '',
server => '',
use_https => 0,
(@_),
};
for my $need_param ( REQUIRE_PARAMS ) {
confess "Parameter $need_param required!" unless $self->{ $need_param };
}
return bless $self, $class;
}
sub abstract_request {
my ( $self, $data ) = @_;
my $request = delete $data->{request};
my $checksum = delete $data->{checksum};
confess "Parameter request required!" unless $request;
my $url = $self->{use_https} ? 'https://' : 'http://';
$url .= $self->{server} . '/bigbluebutton/api/' . $request . '?';
if ( scalar keys %{ $data } > 0 ) {
$url .= $self->generate_url_query( $data );
$url .= '&';
}
$url .= 'checksum=' . $checksum;
return $self->request( $url );
}
sub request {
my ( $self, $url ) = @_;
my $ua = LWP::UserAgent->new;
$ua->ssl_opts(verify_hostname => 0) if $self->{use_https};
$ua->timeout( $self->{ timeout } );
my $res = $ua->get( $url );
return API::BigBlueButton::Response->new( $res );
}
1;
__END__
=back
=head1 SEE ALSO
L<API::BigBlueButton::Requests>
L<API::BigBlueButton::Response>
L<BigBlueButton API|https://code.google.com/p/bigbluebutton/wiki/API>
=head1 AUTHOR
Alexander Ruzhnikov E<lt>a.ruzhnikov@reg.ruE<gt>
=cut
( run in 2.681 seconds using v1.01-cache-2.11-cpan-119454b85a5 )