Changeset 9687 for lang/perl/WebService-Simple
- Timestamp:
- 04/18/08 16:58:49 (5 years ago)
- Location:
- lang/perl/WebService-Simple/branch/lwp-base
- Files:
-
- 3 modified
-
lib/WebService/Simple.pm (modified) (2 diffs)
-
lib/WebService/Simple/Response.pm (modified) (1 diff)
-
t/01_basic.t (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/WebService-Simple/branch/lwp-base/lib/WebService/Simple.pm
r9686 r9687 5 5 use warnings; 6 6 use base qw(LWP::UserAgent Class::Data::ConfigHash); 7 use WebService::Simple::Response; 7 8 use UNIVERSAL::require; 8 9 … … 75 76 Carp::croak("request to $url failed"); 76 77 } 77 # まだできてない 78 # WebService::Simple::Response->new_from_response( 79 # response => $response, 80 # parser => $self->reponse_parser 81 # ); 82 return $response; 78 79 return WebService::Simple::Response->new_from_response( 80 response => $response, 81 parser => $self->response_parser 82 ); 83 83 } 84 84 -
lang/perl/WebService-Simple/branch/lwp-base/lib/WebService/Simple/Response.pm
r8953 r9687 1 # $Id$ 2 1 3 package WebService::Simple::Response; 4 use strict; 5 use warnings; 6 use base qw(HTTP::Response); 2 7 3 use warnings; 4 use strict; 5 use Carp; 6 use XML::Simple; 7 our $VERSION = '0.01'; 8 sub new_from_response 9 { 10 # XXX hack. This probably should be changed... 11 my $class = shift; 12 my %args = @_; 13 my $self = bless $args{response}, $class; 14 $self->{__parser} = $args{parser}; 15 return $self; 16 } 8 17 9 sub HTTP::Response::parse_xml { 10 my ($self, $opt) = @_; 11 my $xs = XML::Simple->new( %$opt ); 12 my $results; 13 eval { $results = $xs->XMLin($self->content) }; 14 croak("can't parse xml") if ($@); 15 return $results; 18 sub parse_response 19 { 20 my $self = shift; 21 return $self->{__parser}->parse_response($self); 16 22 } 17 23 -
lang/perl/WebService-Simple/branch/lwp-base/t/01_basic.t
r9681 r9687 1 1 use strict; 2 use Test::More (tests => 5);2 use Test::More; 3 3 4 my ($flickr_api_key); 4 5 BEGIN 5 6 { 7 $flickr_api_key = $ENV{FLICKR_API_KEY}; 8 if (! $flickr_api_key ) { 9 plan( skip_all => "Please set FLICKR_API_KEY to enable this test" ); 10 } else { 11 plan( tests => 10 ); 12 } 13 6 14 use_ok("WebService::Simple"); 7 15 } … … 10 18 my $simple = WebService::Simple->new( 11 19 base_url => "http://api.flickr.com/services/rest/", 20 params => { 21 api_key => $flickr_api_key 22 } 12 23 ); 13 24 … … 16 27 ok( $simple->response_parser, "parser ok" ); 17 28 isa_ok( $simple->response_parser, "WebService::Simple::Parser::XML::Simple", "parser isa WebService::Simple::Parser::XML::Simple" ); 29 30 my $response = $simple->get( { method => "flickr.test.echo", name => "value" } ); 31 32 ok( $response ); 33 isa_ok( $response, "WebService::Simple::Response" ); 34 35 my $h = $response->parse_response; 36 ok($h); 37 isa_ok($h, 'HASH'); 38 39 is( $h->{name}, 'value' ); 18 40 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)