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: ');

t/Elive.pm  view on Meta::CPAN

    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 )