On Jul 6, 2011, at 8:04 AM, Itamar Turner-Trauring wrote:
On Wed, 2011-07-06 at 13:10 +0200, Johan Rydberg wrote:
I was mostly thinking about the persistent connection functionality for twisted.web.client.Agent.
We definitely want this to get in, this was a large part of the motivation for Agent in the first place.
Looking at http://twistedmatrix.com/trac/ticket/3420 now, I see reviews with lots of functional issues and spec-compliance/correctness issues raised. There are a few notes on the API as well, but without addressing the reviews there, the patch would just have incorrect behavior. The few notes that are purely API aesthetics are mostly "make this private by default", which should be a trivial search-and-replace to fix.
Maybe Twisted would benefit more from having that functionality in place, than having the super-perfect API between Agent and HTTP parser.
The goal is not so much a perfect API as something we won't have to deprecate soon after because we realize there are some requirements that can't be addressed in a backwards compatible way. In this case, the cookie, proxy and other agent wrappers that have been created mean we now have a better understanding of what the Agent API looks like from a higher level, which should help.
That does sound a little like "the perfect API" to me :). And, I'd be inclined to argue - if I could find even one example of a functionally-correct patch with sufficient docs and tests that had actually been held up because of API issues :). -glyph