[Pharo-project] Zn HTTP Clients accessing Google HTTPS using stunnel and delicious.com
Hi, I think that I solved the underlying bug that surfaced with Esteban's problem accessing Google HTTPS using stunnel as well as Andy's problem accessing delicious.com (both were related) - for the technical details see below. The following expressions should now return true (tested with Pharo 1.2.1 on Mac OS X and Linux, Pharo Core 1.3 on Mac OS X). (ZnHttpClient new url: 'http://delicious.com'; get) includesSubString: 'Delicious' --- ; assuming stunnel is running with a config including client = yes [google] accept = 20011 connect = encrypted.google.com:443 --- (ZnHttpClient new url: 'http://127.0.0.1:20011'; get) includesSubString: 'SSL' Please let me know if your code now works as well. Thanks again, Esteban, Andy and Matt for pushing these issues ! Sven PS: please note that for now, only ZnHttpClient follows redirects, not the simpler ZnClient and the implementation of ZnHTTPSocketFacade. ==================== Summary ==================== Name: Zinc-HTTP-SvenVanCaekenberghe.150 Author: SvenVanCaekenberghe Time: 1 May 2011, 7:19:13 pm UUID: 8fe0b470-7728-454d-bc90-fa42d8330817 Ancestors: Zinc-HTTP-SvenVanCaekenberghe.149 fixing a problem where responses without an explicit content-length but with an entity where not read as they should (thanks Esteban Lorenzano & Andy Burnett for reporting this): - ZnResponse>>#entityReaderOn: now extends the super entityReader with the #allowReadingUpToEnd option - ZnEntityReader>>#entityReader now swallows entities when they are #isEmpty (making them nil) - ZnStringEntity>>#readFrom: is split between #readLimitedFrom: and #readUpToEndFrom: where the last method has extra error handling to swallow ConnectionClosed exceptions (similar to what SocketStream>>#upToEnd does) - the ZnEntity hierarchy now implements #isEmpty
participants (1)
-
Sven Van Caekenberghe