NAME
Browsermob::Server - Perl client to control the Browsermob Proxy server
VERSION
version 0.05
SYNOPSIS
my $server = Browsermob::Server->new(
path => '/opt/browsermob-proxy-2.0-beta-9/bin/browsermob-proxy'
);
$server->start; # ignore if your server is already started
my $proxy = $server->create_proxy;
my $port = $proxy->port;
$proxy->new_har;
# generate traffic across your port
`curl -x http://localhost:$port http://www.google.com > /dev/null 2>&1`;
print Dumper $proxy->har;
DESCRIPTION
This class provides a way to control the Browsermob Proxy server within Perl. There are only a few public methods for starting and stopping the server. You also have the option of instantiating a server object and pointing it towards an existing BMP server on localhost, and just using it to avoid having to pass the server_port arg when instantiating new proxies.
ATTRIBUTES
path
The path to the browsermob_proxy binary. If you aren't planning to call start
, this is optional.
port
The port on which the proxy server should run. This is not the port that you should have other clients connect.
METHODS
start
Start a browsermob proxy on port
. Starting the server does not create any proxies.
stop
Stop the forked browsermob-proxy server. This does not work all the time, although the server seems to get GC'd all on its own, even after ignoring a SIGTERM
.
create_proxy
After starting the server, or connecting to an existing one, use create_proxy
to get a proxy that you can use with your tests. No proxies actually exist until you call create_proxy; starting the server does not create a proxy.
my $proxy = $bmp->create_proxy; # returns a Browsermob::Proxy object
my $proxy = $bmp->create_proxy(port => 1337);
get_proxies
Get a list of currently registered proxies.
my $proxy_aref = $bmp->get_proxies->{proxyList};
print scalar @$proxy_aref;
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>