our
@EXPORT
=
qw(
pause_ftp_site should_upload_to_pause pause_claim set_pause_ftp_site
pause_claim_base_url pause_claim_content pause_claim_content_type
)
;
$VERSION
=
'2.05_07'
;
sub
set_pause_ftp_site
{
no
warnings
'uninitialized'
;
unless
(
$_
[1] =~ /^[a-z0-9-]+(\.[a-z0-9-]+)+\z/ )
{
$_
[0]->_warn(
"The argument [$_[0]] does not look like a hostname"
);
return
;
}
$_
[0]->{pause_ftp_site} =
$_
[1];
}
sub
pause_ftp_site
{
$_
[0]->{pause_ftp_site} ||
'pause.perl.org'
;
}
sub
should_upload_to_pause
{
no
warnings
'uninitialized'
;
$_
[0]->_debug(
"CPAN user: "
.
$_
[0]->config->cpan_user .
" | CPAN pass: "
.
$_
[0]->config->cpan_pass .
"\n"
);
$_
[0]->config->cpan_user &&
$_
[0]->config->cpan_pass
}
sub
pause_claim
{
my
$self
=
shift
;
return
unless
$self
->should_upload_to_pause;
my
$ua
=
$self
->get_web_user_agent;
$ua
->ssl_opts(
verify_hostnames
=> 1 );
$ua
->ssl_opts(
SSL_ca_file
=> CACertOrg::CA::SSL_ca_file() );
my
$request
= HTTP::Request->new(
POST
=>
$self
->pause_claim_base_url );
$request
->content_type(
$self
->pause_claim_content_type );
$request
->content(
$self
->pause_claim_content );
$request
->authorization_basic(
$self
->config->cpan_user,
$self
->config->cpan_pass );
my
$response
=
$ua
->request(
$request
);
$self
->_print(
"PAUSE upload "
,
$response
->as_string =~ /Query succeeded/ ?
"successful"
:
'failed'
,
"\n"
);
}
sub
pause_claim_content
{
require
CGI; CGI->
import
(
qw(-oldstyle_urls)
);
my
$cgi
= CGI->new();
$cgi
->param(
'HIDDENNAME'
,
$_
[0]->config->cpan_user );
$cgi
->param(
'CAN_MULTIPART'
, 1 );
$cgi
->param(
'pause99_add_uri_upload'
,
$_
[0]->remote_file );
$cgi
->param(
'SUBMIT_pause99_add_uri_upload'
,
'Upload the checked file'
);
$cgi
->param(
'pause99_add_uri_sub'
,
'pause99_add_uri_subdirtext'
);
$cgi
->query_string;
}
sub
pause_claim_content_type {
'application/x-www-form-urlencoded'
}
1;