API-BigBlueButton

 view release on metacpan or  search on metacpan

lib/API/BigBlueButton/Requests.pm  view on Meta::CPAN


    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

Alexander Ruzhnikov E<lt>a.ruzhnikov@reg.ruE<gt>

=cut

1;



( run in 0.690 second using v1.01-cache-2.11-cpan-5b529ec07f3 )