Re: ConnCache not been used in LWP::UserAgent
Alexis Marrero <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.lwp |
|---|---|
| Message-ID | <[email protected]> |
Mea Culpa. The ConnCache object is been used in LWP::Protocol and its
sub classes. How ever do one have to add the Connection: Keep-Alive
header in the request anyway?
/amn
On Apr 19, 2006, at 9:56 AM, Alexis Marrero wrote:
> All,
>
> I'm trying to put together a short script to test a Keep-Alive
> connection:
>
> ##### CODE BEGINS #####
> #!env perl -w
> use strict;
>
> use LWP::UserAgent;
> use LWP::ConnCache;
>
> my $browser = LWP::UserAgent->new(conn_cache => 1);
> $browser->conn_cache(LWP::ConnCache->new());
> my @lines = ("mind is a terrible thing to waste\n") x 10;
> my $start = time;
> my $url = 'http://yourhost/yourpath';
> my $count = 0;
>
> foreach (@lines) {
> my $response = $browser->post( $url,
> [ 'pos' => $count,
> 'block' => $_,
> ],
> 'Content_Type' => 'form-data',
> );
>
> $count += length $_;
> }
>
>
> print time() - $start;
> print " secs\n";
>
> ##### CODE ENDS #####
>
> I noticed that when the request is made the HTTP headers don't
> include "Connection: Keep-Alive". It does include "Connection: TE".
>
> Reading the UserAgent.pm source code I noticed that the connection
> cache is stored in $self->{conn_cache} but that value is never used
> in the module. May be is used by reference in other places by
> passing $self.
>
> The point is that the client is opening connections for every request.
>
> /amn