API-BigBlueButton
view release on metacpan or search on metacpan
lib/API/BigBlueButton/Requests.pm view on Meta::CPAN
SEE MORE L<https://code.google.com/p/bigbluebutton/wiki/API#getDefaultConfigXML>
=cut
sub getdefaultconfigxml {
my ( $self ) = @_;
my $data = $self->_generate_data( 'getDefaultConfigXML' );
return $self->abstract_request( $data );
}
=item B<setconfigxml($self,%params)>
Associate an custom config.xml file with the current session.
%params:
meetingID
This parameter is mandatory.
A meetingID to an active meeting.
configXML
This parameter is mandatory.
A valid config.xml file
SEE MORE L<https://code.google.com/p/bigbluebutton/wiki/API#setConfigXML>
=cut
sub setconfigxml {
my ( $self, %params ) = @_;
my $data = $self->_generate_data( 'setConfigXML', \%params );
return $self->abstract_request( $data );
}
=item B<generate_checksum($self,$request,$params)>
Create a checksum for the query
$request
Name of query, e.g. 'create' or 'join'
$params:
Query parameters
my $chksum = $self->generate_checksum( 'create', \%params );
=cut
sub generate_checksum {
my ( $self, $request, $params ) = @_;
my $string = $request;
$string .= $self->generate_url_query( $params ) if ( $params && ref $params );
$string .= $self->{secret};
return sha1_hex( $string );
}
=item B<generate_url_query($self,$params)>
Creating a query string
$params:
Query parameters
$params{checksum} = $self->generate_checksum( 'create', \%params );
$params{request} = 'create';
my $url = $self->generate_url_query( \%params );
=cut
sub generate_url_query {
my ( $self, $params ) = @_;
my $string = CORE::join( '&', map { "$_=$params->{$_}" } sort keys %{ $params } );
return $string;
}
sub _generate_data {
my ( $self, $request, $params ) = @_;
$self->_check_params( $request, $params ) if $params;
$params->{checksum} = $self->generate_checksum( $request, $params );
$params->{request} = $request;
return $params;
}
sub _check_params {
my ( $self, $request, $params ) = @_;
my $const = 'REQUIRE_' . uc $request . '_PARAMS';
return unless $self->can( $const );
for my $req_param ( @{ $self->$const } ) {
confess "Parameter $req_param required!" unless $params->{ $req_param };
}
return 1;
}
=back
=head1 SEE ALSO
L<API::BigBlueButton>
L<API::BigBlueButton::Response>
L<BigBlueButton API|https://code.google.com/p/bigbluebutton/wiki/API>
=head1 AUTHOR
( run in 0.503 second using v1.01-cache-2.11-cpan-39bf76dae61 )