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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.