Hi,

I'm currently building a crawler framework called Gungho. So far I think
the project is going great. Now I'm starting to think about
optimizations, and one of them happens to revolve around PoCo::Client::HTTP.

In a past experiment, I've hacked on PoCo::Client::HTTP::Request so that
it writes the data content to disk -- this greatly reduced the overhead
on each process that was doing the crawling, since hundreds or thousands
of requests may be sent all at once. But at that time it required
actually hacking on the installed PoCo::Client::HTTP::Request source, or
to cut n' paste a bunch of code from said module and doing the fack --
which wasn't such a great idea, because the internal dependencies were
delicate enough that upgrading PoCo::Client::HTTP caused the module to
break.

I'd like to do something similar in Gungho, but this time I'd like to
make it so that things don't break just because we upgraded
PoCo::Client::HTTP. The easiest solution seems to be just to create a
new type of PoCo::Client::HTTP::Request, so that while the bulk of the
code may be identical to PoCo::Client::HTTP::Request, it can lead a
different life cycle that doesn't depend on the other.

To make this possible, I'd like to make PoCo::Client::HTTP able to
change the type of RequestFactory it creates -- or, make RequestFactory
be able to produce difference types of Requests.

In either case, this should be a simple 3-4 line change. I don't mind
doing the hacking myself, can you please tell me where I should start?

Regards,
--d

Reply via email to