CPANPLUS-Dist-Arch

 view release on metacpan or  search on metacpan

script/cpan2aur  view on Meta::CPAN

# Params:  $ua - LWP::UserAgent object
#                (this gets a new cookie jar with a new session cookie)
#          $username - Username to login AUR.
#          $password - Password to login AUR.
# Returns: a new session ID
sub _new_login_sid
{
    my ($ua, $username, $passwd) = @_;

    # Get a fresh session ID cookie...
    $ua->cookie_jar( HTTP::Cookies->new() );
    my $resp = $ua->post( AUR_LOGIN_URI,
                          [ user        => $username,
                            passwd      => $passwd,
                            remember_me => 1, # probably not needed
                           ] );

    # Check for problems...
    error( 'Bad username or password' )
        if ( $resp->content =~ /$BAD_LOGIN_MSG/ );

    error( "AUR login expected status code 302.
Got status: ", $resp->status_line )
        if !( $resp->code == 302  && !$resp->is_success );

    return _scan_aursid($ua);
}

# Params: $sid - Session ID to login the AUR with.
# Returns: A new HTTP::Cookies object with an AUR session ID cookie.
sub _mk_session_cookie
{
    my ($sid) = @_;

    my %cookies = ( COOKIE_NAME() => $sid,
                    AURLANG       => 'en', );

    my $cookie_obj = HTTP::Cookies->new();
    for my $name ( keys %cookies ) {
        $cookie_obj->set_cookie( q{}, $name, $cookies{$name},
                                 q{/}, 'aur.archlinux.org' );
    }

    return $cookie_obj;
}

sub _scan_aursid
{

script/cpan2aur  view on Meta::CPAN

    error( $PKG_EXISTS_ERR ) if ( $resp->content =~ /$PKG_EXISTS_MSG/ );

    return;
}

# Make sure the libwww modules we need are loaded, if not offer to install
# as a package.
sub _load_web_modules
{
    _req_or_install( 'perl-libwww',
                     'LWP::UserAgent', 'HTTP::Cookies' );
    _req_or_install( 'perl-lwp-protocol-https',
                     'LWP::Protocol::https');
}

sub _req
{
    my $loaded = 1;
    for my $mod ( @_ ) {
        eval "require $mod; 1";
        if ( $@ ) { $loaded = 0; last; }



( run in 0.526 second using v1.01-cache-2.11-cpan-e9199f4ba4c )