package WWW::OpenSearch::Agent; use strict; use warnings; use base qw( LWP::UserAgent ); use WWW::OpenSearch; use WWW::OpenSearch::Response; =head1 NAME WWW::OpenSearch::Agent - An agent for doing OpenSearch requests =head1 SYNOPSIS =head1 DESCRIPTION =head1 CONSTRUCTOR =head2 new( [%options] ) =head1 METHODS =head2 request( $request | $url, \%params ) =head2 search( ) An alias for request() =head1 AUTHOR =over 4 =item * Brian Cassidy Ebricas@cpan.orgE =back =head1 COPYRIGHT AND LICENSE Copyright 2007 by Tatsuhiko Miyagawa and Brian Cassidy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut sub new { my( $class, @rest ) = @_; return $class->SUPER::new( agent => join( '/', __PACKAGE__, $WWW::OpenSearch::VERSION ), @rest, ); } *search = \&request; sub request { my $self = shift; my $request = shift; ; my $response = $self->SUPER::request( $request, @_ ); # allow regular HTTP::Requests to flow through return $response unless $request->isa( 'WWW::OpenSearch::Request' ); return WWW::OpenSearch::Response->new( $response ); } 1;