I think it would be possible to add cross site redirects at the HttpClient level without removing the other functionality from the HttpMethod. HttpClient would just need to check the status code and re-try. But, just because it is possible doesn't mean we should do it. If we have the go-ahead to implement this I'm all for it.

Perhaps we should try to make the redirection code available in some reusable format outside of HttpClient. This way the people who are not using HttpClient directly could still take advantage of it

As far as compatibility with connection pooling goes there should be no problem. I have only gone over your patch at a high level, but it should work well.

Mike

On Tuesday, February 25, 2003, at 04:39 PM, Oleg Kalnichevski wrote:

Mike
I share your concerns, but the work on it has been blessed by Jandalf.
Besides, I see no way of providing cross-site redirects while
maintaining full compatibility with the existing HttpClient.

Important question. Do you think that the patch will play well with your
connection pooling stuff?


Oleg

On Tue, 2003-02-25 at 22:29, Michael Becke wrote:
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]




---------------------------------------------------------------------
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