Chris Williams > POE-Component-CPAN-Mirror-Multiplexer-0.04 > POE::Component::CPAN::Mirror::Multiplexer

Download:
POE-Component-CPAN-Mirror-Multiplexer-0.04.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.04   Source  

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', an event in your session to send request meta to;
  'session', specify an alternative session to send the above event to;
  'postback', specify a POE::Session postback instead of the above;
  'mirrors', an arrayref of http urls, the default should be fine;
  'error_page', a scalar of HTML to be returned instead of the default on error conditions;

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/

syntax highlighting: