Apache-BalancerManager
view release on metacpan or search on metacpan
#!/usr/bin/env perl
use strict;
use warnings;
use Test::LWP::UserAgent;
use Test::More;
use Test::Deep;
use URI;
use Apache::BalancerManager;
my $content = <<'CONTENT';
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head><title>Balancer Manager</title>
<style type='text/css'>
table {
border-width: 1px;
border-spacing: 3px;
border-style: solid;
border-color: gray;
border-collapse: collapse;
background-color: white;
text-align: center;
}
th {
border-width: 1px;
padding: 2px;
border-style: dotted;
border-color: gray;
background-color: lightgray;
text-align: center;
}
td {
border-width: 1px;
padding: 2px;
border-style: dotted;
border-color: gray;
background-color: white;
text-align: center;
}
</style>
</head>
<body><h1>Load Balancer Manager for localhost</h1>
<dl><dt>Server Version: Apache/2.4.51 (Win64) OpenSSL/1.1.1l</dt>
<dt>Server Built: Oct 7 2021 16:27:02</dt>
<dt>Balancer changes will NOT be persisted on restart.</dt><dt>Balancers are inherited from main server.</dt><dt>ProxyPass settings are inherited from main server.</dt></dl>
<hr />
<h3>LoadBalancer Status for <a href="/balancer-manager?b=balancer_name&nonce=488d6558-fe13-6927-de4f-de761f8f7d74">balancer://balancer_name</a> [pdcfd1ba5_balancer_name]</h3>
<table><tr><th>MaxMembers</th><th>StickySession</th><th>DisableFailover</th><th>Timeout</th><th>FailoverAttempts</th><th>Method</th><th>Path</th><th>Active</th></tr>
<tr><td>2 [2 Used]</td>
<td> (None) </td><td>Off</td>
<td>0</td><td>31</td>
<td>byrequests</td>
<td>/</td>
<td>Yes</td>
</tr>
</table>
<br />
<table><tr><th>Worker URL</th><th>Route</th><th>RouteRedir</th><th>Factor</th><th>Set</th><th>Status</th><th>Elected</th><th>Busy</th><th>Load</th><th>To</th><th>From</th></tr>
<tr>
<td><a href="/balancer-manager?b=balancer_name&w=http://127.0.0.1:5001&nonce=488d6558-fe13-6927-de4f-de761f8f7d74">http://127.0.0.1:5001</a></td><td>route</td><td>redir</td><td>1.50</td><td>3.5</td><td>Init Dis </td><td>41</td><td>0</td><td>1...
<tr>
<td><a href="/balancer-manager?b=balancer_name&w=http://127.0.0.1:5002&nonce=488d6558-fe13-6927-de4f-de761f8f7d74">http://127.0.0.1:5002</a></td><td></td><td></td><td>1.00</td><td>0</td><td>Init Ok </td><td>43</td><td>0</td><td>100</td><td> ...
</table>
<hr />
<h3>LoadBalancer Status for <a href="/balancer-manager?b=second_balancer&nonce=0e761cdb-a55e-c0c4-b5f7-16f46e063ca6">balancer://second_balancer</a> [pdcfd1ba5_second_balancer]</h3>
<table><tr><th>MaxMembers</th><th>StickySession</th><th>DisableFailover</th><th>Timeout</th><th>FailoverAttempts</th><th>Method</th><th>Path</th><th>Active</th></tr>
<tr><td>1 [1 Used]</td>
<td> (None) </td><td>Off</td>
<td>0</td><td>0</td>
<td>byrequests</td>
<td>/cert</td>
<td>Yes</td>
</tr>
</table>
<br />
<table><tr><th>Worker URL</th><th>Route</th><th>RouteRedir</th><th>Factor</th><th>Set</th><th>Status</th><th>Elected</th><th>Busy</th><th>Load</th><th>To</th><th>From</th></tr>
<tr>
<td><a href="/balancer-manager?b=second_balancer&w=http://127.0.0.1:5000&nonce=0e761cdb-a55e-c0c4-b5f7-16f46e063ca6">http://127.0.0.1:5000</a></td><td></td><td></td><td>1.00</td><td>0</td><td>Init Ok </td><td>0</td><td>0</td><td>0</td><td> 0...
</table>
<hr />
</body></html>
CONTENT
Test::LWP::UserAgent->map_response( qr(127.0.0.1/balancer-manager),
HTTP::Response->new(200, "OK", ["Content-Type" => "text/html"], $content));
my $a = AgentMocker->new;
my $mgr = Apache::BalancerManager->new(
url => 'http://127.0.0.1/balancer-manager',
user_agent => $a,
( run in 2.806 seconds using v1.01-cache-2.11-cpan-f56aa216473 )