I definitely think this is a good idea. HttpMethodBase is too big. I'm wondering if this is too much of a change for 2.0 though. It will require quite a few changes for users.

On a related note, when you implement the redirection handling I would suggest removing the use of the URL class. I think URI is better suited for this purpose. Also, using URL could be a problem with custom protocol types.

Mike

Oleg Kalnichevski wrote:
Folks
I am currently working on a patch enabling HttpClient to handle
cross-site redirects.


http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16729

In order to lay foundation for this capability I needed to make quite a
few changes to HttpClient & HttpMethodBase. I have opted for a more
substantial overhaul of these classes, than was strictly necessary. I
realize not all of you may agree with my decision. So, I decided to seek
an early feedback from you to make sure I do not go completely astray.


This is what I have done:

I moved complete redirect & authenticate logic from HttpMethodBase to
HttpClient. HttpMethodBase

Impact:

- Even though binary interface is unchanged, HttpClient's modus operandi
with regard to redirect & authentication changed substantially. People
like Laura Werner,who do not use standard HttpClient and have developed
their own logic around lower level classes will be affected most.


- Cleaner design. Redirect & authentication in my opinion logically do
not belong to domain of the HTTP method, rather, they belong to that of
the HTTP agent.

- Over-convoluted HttpMethodBase class got simpler. Under-used
HttpClient class is leveraged more. This is an important architectural
improvement in my humble opinion. If you disagree, please let me know

- I am seriously concerned that this redesign may have adversely
affected connection pooling stuff. Mike, Eric, you are the connection
pooling experts, could you please give me your opinion on that?

- About a dozen of test cases have become obsolete. They will need to be
redesigned. They are all commented out for the time being

As always, any feedback, including that in a form of bad tomatoes thrown
at me will be appreciated

Please note, that cross-site redirect has not been implemented yet.

Cheers

Oleg



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



Reply via email to