1 package WWW::OpenSearch::Request;
6 use base qw( HTTP::Request Class::Accessor::Fast );
8 use HTTP::Request::Common ();
10 __PACKAGE__->mk_accessors( qw( opensearch_url opensearch_params ) );
14 WWW::OpenSearch::Request - Encapsulate an opensearch request
22 =head2 new( $url, \%params )
32 =item * opensearch_url
34 =item * opensearch_params
42 =item * Brian Cassidy E<lt>bricas@cpan.orgE<gt>
46 =head1 COPYRIGHT AND LICENSE
48 Copyright 2007 by Tatsuhiko Miyagawa and Brian Cassidy
50 This library is free software; you can redistribute it and/or modify
51 it under the same terms as Perl itself.
56 my( $class, $os_url, $params ) = @_;
58 my( $uri, $post ) = $os_url->prepare_query( $params );
61 if( lc $os_url->method eq 'post' ) {
62 $self = HTTP::Request::Common::POST( $uri, $post );
66 $self = $class->SUPER::new( $os_url->method => $uri );
69 $self->opensearch_url( $os_url );
70 $self->opensearch_params( $params );
77 my $clone = bless $self->SUPER::clone, ref( $self );
79 $clone->opensearch_url( $self->opensearch_url );
80 $clone->opensearch_params( $self->opensearch_params );