Perlbal

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

1.80: 2012-02-26

    -- FLV streaming plugin (Gosuke Miyashita <gosukenator@gmail.com>)

    -- New Throttle plugin (Adam Thomason <thomason@reticulatedsplines.net>)

    -- Force keepalives off when we haven't finished reading a request body, but we
       are already sending a response. (Jonathan Steinert <hachi@kuiki.net>)

    -- Add support for Content-MD5 checking on PUT requests to web server services.
       (Eric Wong <normalperson@yhbt.net>)

    -- Include an XFFExtras plugin that can add X-Forwarded-Port and X-Forwarded-Proto

lib/Perlbal/Manual/Plugins.pod  view on Meta::CPAN

Simple plugin demonstrating how to create an add-on service for Perlbal using the plugin infrastructure.


=item * L<Perlbal::Plugin::ExpandSSL>

Add a custom header according to the SSL of a service.


=item * L<Perlbal::Plugin::FlvStreaming> (Perlbal core)

Enable FLV streaming with reverse proxy.


=item * L<Perlbal::Plugin::ForwardedFor>

Rename the X-Forwarded-For header in Perlbal.


=item * L<Perlbal::Plugin::Highpri> (Perlbal core)

Makes some requests high priority.

lib/Perlbal/Plugin/FlvStreaming.pm  view on Meta::CPAN

=head1 NAME

Perlbal::Plugin::FlvStreaming - Enable FLV streaming with reverse proxy

=head1 DESCRIPTION

This plugin enable FLV streaming by modifying headers and prepending
FLV header to the body.

=head1 SYNOPSIS

    LOAD FlvStreaming
    
    CREATE SERVICE flv_proxy
      SET role    = reverse_proxy
      SET plugins = FlvStreaming
    ENABLE flv_proxy

lib/Perlbal/Plugin/FlvStreaming.pm  view on Meta::CPAN

use URI;
use URI::QueryParam;

my  $FLV_HEADER = 'FLV' . pack('CCNN', 1, 1, 9, 9);

sub load { }

sub register {
    my ($class, $svc) = @_;
    unless ($svc && $svc->{role} eq "reverse_proxy") {
        die "You can't load the flvstreaming plugin on a service not of role reverse_proxy.\n";
    }

    $svc->register_hook('FlvStreaming', 'start_proxy_request',     \&start_proxy_request);
    $svc->register_hook('FlvStreaming', 'modify_response_headers', \&modify_response_headers);
    $svc->register_hook('FlvStreaming', 'prepend_body',            \&prepend_body);

    return 1;
}

sub start_proxy_request {



( run in 0.911 second using v1.01-cache-2.11-cpan-4d50c553e7e )