Hello Sven,
Jan,
I added some new features so that now this should work:
On 23 Nov 2011, at 14:12, Sven Van Caekenberghe wrote:
> Let me think a bit about this, and I will come back to you.
testRedirectDontFollow
� � � �| client |
� � � �(client := ZnClient new)
� � � � � � � �dontFollowRedirects;
� � � � � � � �get: 'http://www.pharo-project.org'.
� � � �self assert: client response isRedirect.
� � � �client
� � � � � � � �enforceHttpSuccess: true;
� � � � � � � �get: 'http://www.pharo-project.org'.
� � � �self assert: client response isRedirect.
� � � �client close
I think this will cover your use case, please let me know how it goes.
I discovered that I more ore less already had something that came close:
testRedirect
� � � �| client response |
� � � �client := ZnClient new url: 'http://www.pharo-project.org'.
� � � �self assert: (client get; isSuccess).
� � � �client
� � � � � � � �close;
� � � � � � � �maxNumberOfRedirects: 0;
� � � � � � � �url: 'http://www.pharo-project.org'.
� � � �self should: [ client get ] raise: ZnTooManyRedirects.
� � � �client close.
� � � �response := [ ZnClient new beOneShot; maxNumberOfRedirects: 0; get: 'http://www.pharo-project.org'; response ]
� � � � � � � �on: ZnTooManyRedirects do: [ :exception | exception resume ].
� � � �self assert: response isRedirect
Resuming the exception gave a true redirect response.
But that code is not very nice/handy, and it would not work when combined with enforceHttpSuccess: true.
These are new commits:
==================== Summary ====================
Name: Zinc-HTTP-SvenVanCaekenberghe.221
Author: SvenVanCaekenberghe
Time: 23 November 2011, 5:30:09 pm
UUID: 4df9982e-63e1-49ea-bfb0-2f9cb43f6f0b
Ancestors: Zinc-HTTP-SvenVanCaekenberghe.220
added new #followsRedirects boolean option to ZnClient
because setting #maxNumberOfRedirects to 0 did not work well
for an example see the ZnClientTests>>#testRedirectDontFollow
Thx Jan van de Sandt for reporting this
==================== Summary ====================
Name: Zinc-Tests-SvenVanCaekenberghe.115
Author: SvenVanCaekenberghe
Time: 23 November 2011, 5:31:22 pm
UUID: eb8c67e4-bdf2-4741-b149-78bdaf5d4970
Ancestors: Zinc-Tests-SvenVanCaekenberghe.114
added ZnClientTests>>#testRedirectDontFollow to test
the new #followsRedirects boolean option to ZnClient,
including under the case of #enforceHttpSuccess: true
Regards,
Sven