Elive
view release on metacpan or search on metacpan
lib/Elive/Connection.pm view on Meta::CPAN
$url =~ s{/$}{}x;
my $uri_obj = URI->new($url);
my $userinfo = $uri_obj->userinfo;
if ($userinfo) {
#
# extract and remove any credentials from the url
#
my ($uri_user, $uri_pass) = split(':',$userinfo, 2);
if ($uri_user) {
if ($user && $user ne $uri_user) {
carp 'ignoring user in URI scheme - overridden';
}
else {
$user = URI::Escape::uri_unescape($uri_user);
lib/Elive/Connection.pm view on Meta::CPAN
#
pop(@path)
if (@path && $path[-1] =~ m{^v(\d+)$});
$uri_obj->path(File::Spec::Unix->catdir(@path));
my $soap_url = $uri_obj->as_string;
#
# remove any embedded credentials
#
$soap_url =~ s{\Q${userinfo}\E\@}{} if $userinfo;
my $self = {};
bless $self, $class;
$self->url($soap_url);
$self->user($user);
$self->pass($pass);
$self->debug($debug);
script/elive_query view on Meta::CPAN
sub _connect {
my ($adapter_class, $url, %options) = @_;
my $username = $options{username};
my $password = $options{password};
my $uri_obj = URI->new($url);
if (my $userinfo = $uri_obj->userinfo) {
#
# credentials supplied in URI
my ($uri_user, $uri_pass) = split(':', $userinfo, 2);
$username ||= URI::Escape::uri_unescape($uri_user);
$password ||= URI::Escape::uri_unescape($uri_pass)
if $uri_pass;
$url =~ s{\Q${userinfo}\E\@}{};
}
$username ||= Elive::Util::prompt('Username: ');
script/elive_raise_meeting view on Meta::CPAN
if ($debug) {
$SIG{__WARN__} = \&Carp::cluck if $debug > 1;
$SIG{__DIE__} = \&Carp::confess;
}
$url ||= Elive::Util::prompt("Url ('http[s]://...'): ");
unless ($username && $password) {
#
# look for credentials encoded in the uri
#
my $uri_obj = URI->new($url);
my $userinfo = $uri_obj->userinfo; # credentials supplied in URI
if ($userinfo) {
my ($uri_user, $uri_pass) = split(':', $userinfo, 2);
$username ||= URI::Escape::uri_unescape($uri_user);
$password ||= URI::Escape::uri_unescape($uri_pass)
if $uri_pass;
}
}
$username ||= Elive::Util::prompt('Username: ');
my %result;
my $user = $ENV{'ELIVE_TEST_USER'.$suffix};
my $pass = $ENV{'ELIVE_TEST_PASS'.$suffix};
my $url = $ENV{'ELIVE_TEST_URL'.$suffix};
if (!$opt{only} || $opt{only} eq 'real') {
if ($url) {
my $uri_obj = URI->new($url, 'http');
my $userinfo = $uri_obj->userinfo; # credentials supplied in URI
if ($userinfo) {
my ($uri_user, $uri_pass) = split(':', $userinfo, 2);
$user ||= URI::Escape::uri_unescape($uri_user);
$pass ||= URI::Escape::uri_unescape($uri_pass)
if $uri_pass;
}
if ($user && $pass && $url !~ m{^mock:}i) {
t/Elive/MockConnection.pm view on Meta::CPAN
my ($class, $url, $user, $pass, %opt) = @_;
my $self = {};
bless $self, $class;
$url ||= 'http://elive_mock_connection';
$url =~ s{/$}{}; # lose trailing '/'
$url =~ s{/webservice\.event$}{}; # lose endpoint
$url =~ s{/v[1-9]$}{}; # lose adapter path
if ($url =~ s{^(\w+)://(.*)\@}{$1://}) { # lose/capture credentials
my ($_user, $_pass) = split(':', $2, 2);
$user ||= $_user;
$pass ||= $_pass if $_pass;
}
$self->url($url);
$self->user($user);
t/dao-urls.t view on Meta::CPAN
my $URL1 = 'http://user:pass@test1.org';
my $URL1_no_auth = 'http://test1.org';
my $K1 = '1256168907389';
my $K2 = '112233445566';
my $K3 = '111222333444';
my $C1 = Elive::Connection->_connect($URL1);
my $C2 = Elive::Connection->_connect($URL1_no_auth);
is ($C1->url, $C2->url, 'credentials stripped from url');
Elive->connection($C1);
my $user_k1 = Elive::Entity::User->construct(
{userId => $K1,
loginName => 'pete'},
);
my $user_k2 = Elive::Entity::User->construct(
{userId => $K2,
( run in 0.270 second using v1.01-cache-2.11-cpan-4d50c553e7e )