This is an automated email from the git hooks/post-receive script.

kanashiro-guest pushed a commit to tag 1.08
in repository libflickr-api-perl.

commit 2500fa102e95e37b3bbf2384345a71f634a73d41
Author: Cal Henderson <c...@iamcal.com>
Date:   Wed Apr 23 05:49:40 2008 +0000

    imported 0.06
---
 lib/Flickr/API.pm | 19 +++++++++++++++----
 test.pl           | 16 ++++++++++++++--
 2 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/lib/Flickr/API.pm b/lib/Flickr/API.pm
index 42f9bb3..9c85fd7 100644
--- a/lib/Flickr/API.pm
+++ b/lib/Flickr/API.pm
@@ -10,7 +10,7 @@ use Digest::MD5 qw(md5_hex);
 
 our @ISA = qw(LWP::UserAgent);
 
-our $VERSION = '0.05';
+our $VERSION = '0.06';
 
 sub new {
        my $class = shift;
@@ -18,6 +18,9 @@ sub new {
        my $self = new LWP::UserAgent;
        $self->{api_key} = $options->{key};
        $self->{api_secret} = $options->{secret};
+
+       warn "You must pass an API key to the constructor" unless defined 
$self->{api_key};
+
        bless $self, $class;
        return $self;
 }
@@ -42,6 +45,8 @@ sub request_auth_url {
        my $perms = shift;
        my $frob  = shift;
 
+       return undef unless defined $self->{api_secret} && length 
$self->{api_secret};
+
        my %args = (
                'api_key' => $self->{api_key},
                'perms'   => $perms
@@ -73,11 +78,14 @@ sub execute_request {
 
        $request->{api_args}->{method}  = $request->{api_method};
        $request->{api_args}->{api_key} = $self->{api_key};
-       $request->{api_args}->{api_sig} = 
$self->sign_args($request->{api_args});
+
+       if (defined($self->{api_secret}) && length($self->{api_secret})){
+
+               $request->{api_args}->{api_sig} = 
$self->sign_args($request->{api_args});
+       }
 
        $request->encode_args();
 
-       #print $request->as_string();
 
        my $response = $self->request($request);
        bless $response, 'Flickr::API::Response';
@@ -175,7 +183,8 @@ Constructs a C<Flickr::API::Request> object and executes 
it, returning a C<Flick
 
 =item C<execute_request($request)>
 
-Executes a C<Flickr::API::Request> object, returning a 
C<Flickr::API::Response> object.
+Executes a C<Flickr::API::Request> object, returning a 
C<Flickr::API::Response> object. Calls are signed
+if a secret was specified when creating the C<Flickr::API> object.
 
 =item C<request_auth_url($perms,$frob)>
 
@@ -184,6 +193,8 @@ an authentication token.
 
 For web-based applications I<$frob> is an optional parameter.
 
+Returns undef if a secret was not specified when creating the C<Flickr::API> 
object.
+
 
 =back
 
diff --git a/test.pl b/test.pl
index f27aace..500dfda 100644
--- a/test.pl
+++ b/test.pl
@@ -40,9 +40,21 @@ ok('f320caea573c1b74897a289f6919628c' eq 
$api->sign_args({'foo' => undef}));
 # check the auth url generator is working
 #
 
-my $uri = $api->request_auth_url('my_frob', 'r');
+my $uri = $api->request_auth_url('r', 'my_frob');
 
-ok($uri->query eq 
'api_sig=3aa58af8dae8bbf2ac06237032d7de9c&perms=my_frob&frob=r&api_key=made_up_key');
+ok($uri->query eq 
'api_sig=d749e3a7bd27da9c8af62a15f4c7b48f&perms=r&frob=my_frob&api_key=made_up_key');
 ok($uri->path eq '/services/auth');
 ok($uri->host eq 'flickr.com');
 ok($uri->scheme eq 'http');
+
+
+##################################################
+#
+# check we can't generate a url without a secret
+#
+
+$api = new Flickr::API({'key' => 'key'});
+$uri = $api->request_auth_url('r', 'frob');
+
+ok(!defined $uri);
+

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/libflickr-api-perl.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to