On Sun, Feb 20, 2005 at 07:35:47PM -0600, Andy Lester wrote:
> >
> >I want a *caching* version of WWW::Mechanize.
> >
> > - No, WWW::Mechanize::Cached does not cut it for me. It does not
> >   honor any HTTP cache control headers. And, also, I think that
> >   caching better belongs to the UserAgent. Here it is much more
> >   reusable anyway.
> 
> Patches are certainly welcome.  Anything you want to add to it, I'm 
> glad to take a look at.  I don't want WWW::Mechanize::Cached to mess 
> with LWP::UserAgent::WithCache, though.

Andy,

OK, but then we have the problem that caching is implemented only
inside WWW::Mechanize::Cached and that it cannot be reused by people
who only want to use a caching version of LWP::UserAgent.

I would rather suggest not to invest into WWW::Mechanize::Cached and
prop up LWP::UserAgent::WithCache to use it as a proper replacement
for LWP::UserAgent:

   use LWP::UserAgent::WithCache;
   my $ua   = new LWP::UserAgent::WithCache (...specify caching...);
   use WWW::Mechanize;
   my $mech = new WWW::Mechanize (ua => $ua,
                                  agent => 'I gather');

WWW::Mechanize would then use a 'component' user agent (instead of
being a subclass). Agreed, this is major design change, but one which
would give us more options.

For you to consider.

\rho

PS: Another option we have is to use HTTP::Cache::Transparent which
    silently hooks itself into the request fetching. But that also
    does not yet support proxy cache headers (yet).

Reply via email to