---
name: "Catalyst::View::Component::SubInclude::HTTP"
section: "3pm"
platform: "linux"
package: "libcatalyst-view-component-subinclude-perl"
version: "0.10-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catalyst::View::Component::SubInclude::HTTP"
---

# Catalyst::View::Component::SubInclude::HTTP(3pm)

HTTP plugin for C::V::Component::SubInclude

## NAME

Catalyst::View::Component::SubInclude::HTTP - HTTP plugin for C::V::Component::SubInclude

## SYNOPSIS

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 }) %]
```

## DESCRIPTION

`"Catalyst::View::Component::SubInclude::HTTP"` does HTTP requests (currently using LWP::UserAgent) and uses the responses to render subinclude contents.

## CONFIGURATION

The configuration is passed in the `"subinclude"` key based on your plugin name which can be arbitrary.

- class

  Required just in case your plugin name differs from `"HTTP"`.

- http\_method

  Accepts `"GET"` and `"POST"` as values. The default one is `"GET"`.

- user\_agent

  This lazily builds a LWP::UserAgent obj, however you can pass a different user agent obj that implements the required API.

- ua\_timeout

  User Agent's timeout config param. Defaults to 10 seconds.

- uri\_map

  This expects a HashRef in order to map paths to different URLs.

- base\_url

  Used only if `"uri_map"` is `"undef"` and defaults to `"$c->request->base"`.

## METHODS

### "generate\_subinclude( $c, $path, $args )"

Note that `$path` should be the relative path.

## SEE ALSO

Catalyst::View::Component::SubInclude

## AUTHOR

Wallace Reis `"<wreis@cpan.org>"`

## SPONSORSHIP

Development sponsored by Ionzero LLC \<http://www.ionzero.com/\>.

## COPYRIGHT & LICENSE

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.
