To implement this feature (full redirects), there are really only three general choices that make sense:


1) augment HttpMethodBase.execute()
Pros: current functionality is maintained
Cons: makes complex code more complex,

2) have two stage redirection done partially in HttpMethodBase and part in HttpClien
Pros: migration path for redirect logic to eventually be all in HttpClient,
Cons: would be a hack prone to error


3) move and augment redirect logic into HttpClient.execute(
Pros: most logical seperation of concerns, does simplify HttpMethodBase, Oleg has an initial patch
Cons: breaks user code


From the work that Oleg has done, and the comments here, it seems clear that redirect logic should be in HttpClient. Clearly Oleg is on the right track with his work, and I agree this is the best approach. The problem is that con is a pretty big drawback. I'd say it is to late in the development cycle to make such a change, no matter how rewarding.

I did not realize how big of a deal true redirects was going to be to implement. Oleg's patch gives us a good base and evaluation platform, but perhaps we should consider putting this feature on the back burner and do it in 2.1.

Jandalf.


Adrian Sutton wrote:


The only good reason I can see for going with a two-loop solution is the fact that we're fairly close to a final release right now and might want to keep the code stable. On the other hand, if we're going to make a semantic API change like this, it's probably better to do it now, before 2.0 final.



Personally, I feel it's too late in the release process to be moving all the redirect code around, however that does depend on how inelegant the other options are.

If we don't move it until after the 2.0 release, we should add a note on any
method that is likely to be affected by the change that the change will
happen and so you shouldn't depend on this code being here.  (Much like
Sun's warning about serializing Swing objects).

I'd also suggest that we make HttpClient more flexible so that Laura can use
it directly since that would then discourage people from using the methods
directly and changes like this will be much less of a concern in the future.

Course, I don't have time to actually do any of this, so feel free to just
ignore me. :)

Adrian Sutton, Software Engineer
Ephox Corporation
www.ephox.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to