libwww-perl / libwww-perl/HTTP-Daemon

HTTP::Daemon::ClientConn should be decoupled from HTTP::Daemon [rt.cpan.org #7466]

Open
#8 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
Perl
Stars
6
Forks
17
PR merge metrics
No merged PRs in 30d

Description

Migrated from rt.cpan.org#7466 (status was 'new')

Requestors:

  • tmetro@cpan.org

From tmetro@cpan.org on 2004-08-25 02:33:47
:

I guess this is best classified as a "Wishlist item."

HTTP::Daemon::ClientConn should be decoupled from HTTP::Daemon, which 
would allow users to use HTTP::Daemon::ClientConn (which contains the 
bulk of the code) with other daemon modules (such as Net::Daemon, 
Net::Server, etc.).

As it is now, you can pull this off by subclassing HTTP::Daemon and 
re-implementing a bunch of its methods, but that seems unnecessarily 
messy. (I took this approach when using HTTP::Daemon to build a proxy 
server along with Net::Server.)

It appears that HTTP::Daemon::ClientConn could be tweaked to reduce or 
eliminate the coupling.

I'd be happy to donate the code to do this, if there is interest. (I 
don't want to do this on speculation, as I don't think it is significant 
enough to warrant forking the module, and in my experience, module 
maintainers are usually reluctant to accept patches of this nature if 
they don't fit their vision of how the module should be architected.)

  -Tom



Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read HTTP::Daemon::ClientConn and HTTP::Daemon to identify the existing coupling, then compare how Net::Daemon or Net::Server could provide the daemon behavior. Define the intended compatibility boundary before changing anything; done means ClientConn can work with another daemon module without subclassing HTTP::Daemon or reimplementing its methods.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
backend, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.