(perl) Multiplexes various HTTP based CPAN mirrors
Perl
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib/POE/Component/CPAN/Mirror
t
Changes
MANIFEST
Makefile.PL
README

README

NAME
    POE::Component::CPAN::Mirror::Multiplexer - Multiplex HTTP CPAN mirrors

SYNOPSIS
      use strict;
      use warnings;
      use Getopt::Long;
      use POE qw(Component::CPAN::Mirror::Multiplexer);

      my $port = 8080;
      GetOptions('port=i',\$port) or die;

      my $test_httpd = POE::Component::CPAN::Mirror::Multiplexer->new( port => $port );

      $poe_kernel->run();
      exit 0;

DESCRIPTION
    POE::Component::CPAN::Mirror::Multiplexer is a POE component that acts
    as a HTTP server that multiplexes HTTP CPAN mirrors. CPAN clients such
    as CPAN or CPANPLUS can be configured to use the multiplexer as their
    CPAN mirror. The multiplexer will then query a list of HTTP CPAN mirrors
    for the requested URLs.

CONSTRUCTOR
    "spawn"
        Takes a number of options, only those marked as "mandatory" are
        required:

          'address', bind to a particular IP address, default is INADDR_ANY;
          'port', bind to a particular TCP port, default is 0;
          'event',
          'session',
          'postback',
          'mirrors', an arrayref of http urls, the default should be fine;
          'error_page',

METHODS
    "get_session_id"
        Returns the POE::Session ID of the component.

    "port"
        Returns the assigned TCP port.

INPUT EVENTS
    "shutdown"
        Terminates the component.

OUTPUT EVENTS
    If "event" or "postback" is specified in "spawn" then the following
    events will be emitted whenever a client makes a request.

    "event"
        "ARG0" will be a HTTP::Request object. "ARG1" will be a HASHREF with
        the following keys:

          'peeraddr', the client address;
          'peerport', the client TCP port;
          'sockaddr', our address;
          'sockport', our TCP port;

    "postback"
        "ARG0" will be an ARRAYREF with the parameters that were specified
        when the postback was created, see POE::Session for details. "ARG1"
        will be an ARRAYREF with two items, a HTTP::Request object and a
        HASHREF with the following keys:

          'peeraddr', the client address;
          'peerport', the client TCP port;
          'sockaddr', our address;
          'sockport', our TCP port;

AUTHOR
    Chris "BinGOs" Williams <chris@bingosnet.co.uk>

LICENSE
    Copyright © Chris Williams

    This module may be used, modified, and distributed under the same terms
    as Perl itself. Please see the license that came with your Perl
    distribution for details.

SEE ALSO
    HTTP::Request

    POE::Session

    <http://mirrors.cpan.org/>