=================================================================== RCS file: /cvs/HOPE/Net-OpenAMD/lib/Net/OpenAMD.pm,v retrieving revision 1.8 retrieving revision 1.10 diff -u -r1.8 -r1.10 --- HOPE/Net-OpenAMD/lib/Net/OpenAMD.pm 2010/06/27 04:23:27 1.8 +++ HOPE/Net-OpenAMD/lib/Net/OpenAMD.pm 2010/06/27 04:59:32 1.10 @@ -1,6 +1,6 @@ package Net::OpenAMD; -# $AFresh1: OpenAMD.pm,v 1.7 2010/06/27 03:11:22 andrew Exp $ +# $AFresh1: OpenAMD.pm,v 1.9 2010/06/27 03:45:07 andrew Exp $ use warnings; use strict; @@ -8,7 +8,7 @@ use version; our $VERSION = qv('0.0.1'); -my $BASE_URL = 'https://api.hope.net/api/'; +my $BASE_URI = 'https://api.hope.net/api/'; use Scalar::Util qw( refaddr ); *_ident = \&refaddr; @@ -20,7 +20,7 @@ { - my @attr_refs = \( my %base_url_of, my %ua_of, my %auth_of, ); + my @attr_refs = \( my %base_uri_of, my %ua_of, my %auth_of, ); sub new { my ( $class, $options ) = @_; @@ -31,7 +31,7 @@ croak 'Options should be a hashref' if ref $options ne 'HASH'; - $base_url_of{$ident} = $options->{base_url} || $BASE_URL; + $base_uri_of{$ident} = $options->{base_uri} || $BASE_URI; $ua_of{$ident} = $options->{ua} || LWP::UserAgent->new(); # XXX Authenticate @@ -43,7 +43,7 @@ my ( $self, $action, $query ) = @_; my $ident = _ident($self); - my $uri = URI->new( $base_url_of{$ident} . '/' . $action ); + my $uri = URI->new_abs( $action, $base_uri_of{$ident} ); $uri->query($query); my $response = $ua_of{$ident}->get($uri); @@ -55,12 +55,12 @@ return JSON::Any->jsonToObj( $response->decoded_content ); } - sub location { my $self = shift; return $self->get( 'location', @_ ) } - sub speakers { my $self = shift; return $self->get( 'speakers', @_ ) } - sub talks { my $self = shift; return $self->get( 'talks', @_ ) } - sub interests { my $self = shift; return $self->get( 'interests', @_ ) } - sub users { my $self = shift; return $self->get( 'users', @_ ) } - sub stats { croak 'Unused feature' } + sub location { return shift->get( 'location', @_ ) } + sub speakers { return shift->get( 'speakers', @_ ) } + sub talks { return shift->get( 'talks', @_ ) } + sub interests { return shift->get( 'interests', @_ ) } + sub users { return shift->get( 'users', @_ ) } + sub stats { croak 'Unused feature' } sub DESTROY { my ($self) = @_; @@ -124,9 +124,12 @@ =over -=item base_url +=item base_uri -A URL to the API, currently defaults to https://api.hope.net/api +A URL to the API, currently defaults to https://api.hope.net/api/ + +Most likely it should end with a / to make URI happy, so notice that if you +having 404 errors you don't expect. =item ua