Catalyst::View::Component::SubInclude::HTTP - HTTP plugin for C::V::Component::SubInclude
In your view class:
package MyApp::View::TT; use Moose; extends 'Catalyst::View::TT'; with 'Catalyst::View::Component::SubInclude'; __PACKAGE__->config( subinclude_plugin => 'HTTP::GET', subinclude => { 'HTTP::GET' => { class => 'HTTP', http_method => 'GET', ua_timeout => '10', uri_map => { '/my/' => 'http://localhost:5000/', }, }, 'HTTP::POST' => { class => 'HTTP', http_method => 'POST', ua_timeout => '10', uri_map => { '/foo/' => 'http://www.foo.com/', }, }, }, );
Then, somewhere in your templates:
[% subinclude('/my/widget') %] ... [% subinclude_using('HTTP::POST', '/foo/path', { foo => 1 }) %]
Catalyst::View::Component::SubInclude::HTTP does HTTP requests (currently using LWP::UserAgent) and uses the responses to render subinclude contents.
Catalyst::View::Component::SubInclude::HTTP
The configuration is passed in the subinclude key based on your plugin name which can be arbitrary.
subinclude
Required just in case your plugin name differs from HTTP.
HTTP
Accepts GET and POST as values. The default one is GET.
GET
POST
This lazily builds a LWP::UserAgent obj, however you can pass a different user agent obj that implements the required API.
User Agent's timeout config param. Defaults to 10 seconds.
This expects a HashRef in order to map paths to different URLs.
Used only if uri_map is undef and defaults to $c->request->base.
uri_map
undef
$c->request->base
generate_subinclude( $c, $path, $args )
Note that $path should be the relative path.
$path
Catalyst::View::Component::SubInclude
Wallace Reis <wreis@cpan.org>
<wreis@cpan.org>
Development sponsored by Ionzero LLC http://www.ionzero.com/.
Copyright (c) 2010 Wallace Reis.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Catalyst::View::Component::SubInclude, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::View::Component::SubInclude
CPAN shell
perl -MCPAN -e shell install Catalyst::View::Component::SubInclude
For more information on module installation, please visit the detailed CPAN module installation guide.