The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Browsermob::Proxy - Perl client for the proxies created by the Browsermob server

VERSION

version 0.02

SYNOPSIS

Standalone:

    my $proxy = Browsermob::Proxy->new(
        server_port => 9090
        # port => 9092
    );

    print $proxy->port;
    $proxy->new_har('Google');
    # create network traffic across your port
    $proxy->har; # returns a HAR as a hashref, converted from JSON

with Browsermob::Server:

    my $server = Browsermob::Server->new(
        server_port = 9090
    );
    $server->start; # ignore if your server is already running

    my $proxy = $server->create_proxy;
    $proxy->new_har('proxy from server!');

DESCRIPTION

From http://bmp.lightbody.net/: BrowserMob proxy is based on technology developed in the Selenium open source project and a commercial load testing and monitoring service originally called BrowserMob and now part of Neustar.

It can capture performance data for web apps (via the HAR format), as well as manipulate browser behavior and traffic, such as whitelisting and blacklisting content, simulating network traffic and latency, and rewriting HTTP requests and responses.

This module is a Perl client interface to interact with the server and its proxies. It uses Net::HTTP::Spore. You can use Browsermob::Server to manage the server itself in addition to using this module to handle the proxies.

ATTRIBUTES

server_port

Required during manual instantiation. Indicate at what localhost port we should expect a Browsermob Server to be running.

    my $proxy = Browsermob::Proxy->new(server_port => 8080);

port

Optional: When instantiating a proxy, you can choose the proxy port on your own, or let it automatically assign you a port for the proxy.

    my $proxy = Browsermob::Proxy->new(
        server_port => 8080
        port => 9091
    );

METHODS

new_har

After creating a proxy, new_har creates a new HAR attached to the proxy and returns the HAR content if there was a previous one. If no argument is passed, the initial page ref will be "Page 1"; you can also pass a string to choose your own initial page ref.

    $proxy->new_har;
    $proxy->new_har('Google');

har

After creating a proxy and initiating a new_har, you can retrieve the contents of the current HAR with this method. It returns a hashref HAR, and may in the future return an isntance of Archive::HAR.

    my $har = $proxy->har;
    print Dumper $har->{log}->{entries}->[0];

SEE ALSO

Please see those modules/websites for more information related to this module.

BUGS

Please report any bugs or feature requests on the bugtracker website https://github.com/gempesaw/Browsermob-Proxy/issues

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

Daniel Gempesaw <gempesaw@gmail.com>