[Pharo-project] [Progress Report] Zinc HTTP Components

Stéphane Ducasse stephane.ducasse at inria.fr
Sun May 1 21:54:38 CEST 2011

sven we are planning to use it for pharo in the core :).
I was just starting to do it when you got some reports so I waited a bit. I imagine that I will do that 
tomorrow evening.
Thanks for your excellent job!


On May 1, 2011, at 9:17 PM, Sven Van Caekenberghe wrote:

> Hi,
> It has been quite a while, but here is another progress report on the Zinc HTTP Components project.
> First of all, Zinc HTTP Components has found a new home:
> 	http://zn.stfx.eu
> and more importantly, it is now self hosted, i.e. the pages you see are served by Zn, and all testing and debugging handlers are now available live. For more information regarding this production quality deploy, please see
> 	http://zn.stfx.eu/#livedemo
> The documentation pages have been updated a bit to better reflect the current status of the project.
> Second, I thank all people who contributed by testing Zn, giving feedback as well as for some of them actual code. Thank you, Cédrick Béler, Philippe Marschall, Esteban Lorenzano, Jan van de Sandt, Stéphane Ducasse, Andy Burnett, Norbert Hartl, Paul DeBruicker, Hernán Morales Durand and Tony Fleig. (I hope I didn't forget anyone). Thanks Lukas Renggli and Marcus Denker for adding Zn to their continuous integration servers. 
> Sven
> Here is a list of changes since January of this year:
> - introduction of ZnUrl class
> - improved ZnStaticFileServerDelegate
> - introduced #asZnMimeType on ZnMimeType, MIMEType & String
> - Zinc-AWS proof of concept client
> - added lots of comments
> - several fixes to Zinc's Seaside adaptor, ZnZincServerAdaptor (encoding issues)
> - split of ZnNetworkingUtils from ZnUtils to separate related functionality
> - fixed ZnClient class>>#getImageOfType:usingParser:fromUrl: to correctly report responses with unexpected mime types 
> - promoted ZnFixedClient>>#fixedUrl: to public status and changed it to accept ZnUrl objects as well for more flexibility 
>  (allowing users to add query/fragment URL elements in addition to the path)
> - ZnUserAgent (and ZnHttpClient) now can follow relative redirect locations
> - introduced ZnMultiValueDictionary to allow multiple values to be stored under one key as an array,
>  using it for queries and headers
> - changed the redirect behavior for POST/PUT requests: the common practice is to turn these into GET request, 
>  see ZnUserAgent>>#method:for:headers:data:imit: and ZnUserAgent>>#prepareRedirect:
> - added simple ConfigurationOfZincHTTPComponents
> - added ZnByteEncoder to handle single byte encodings that do not map directly to the lower Unicode section 
>  (for example Latin2, ISO-8859-2) by reusing the mapping tables from ByteTextConverter
> - added #handlesEncoding: and #newForEncoding: protocol to class side of ZnCharacterEncoding hierarchy
> - added proper content length computation to ZnMultiPartFormDataEntity (bugfix)
> - some code cleanup to ZnEntity content length computation
> - added ZnUrl>>#queryDo: ZnApplicationForUrlEncodedEntity>>#fieldsDo:
> - added ZnMessage>>#resetEntity: to allow overwriting content type and length when these are already set
> - fixed a typo in the ZnMimePart instance creation methods (formdata should be form-data)
> - added ZnResponse>>#serverError:
> - implemented ZnHTTPSocketFacade class>>#httpPostMultipart:args:accept:request:
> - added ZnHTTPSocketFacade class>>#constructMultiPartFormDataEntity:
> - extended ZnZincServerAdaptor to handle multipart formdata posts (including file uploads)
> - introducing exception hierarchy in Zinc-HTTP-Exceptions
> - added ZnResponse>>#isNotModified
> - bugfix to Base64 encoding that introduced newlines
> - changed ZnZincServerAdaptor>>#defaultCodec to GRNullCodec
> - added new logging framework in Zinc-HTTP-Logging, consisting of ZnLogEvent (an Announcment), 
>  ZnLogSupport and ZnLogListener and subclasses ZnTranscriptLogger, ZnMemoryLogger and ZnFileLogger
> - now using the new logging facilities in Zn[Single|Multi]ThreadedServer, ZnFixedClient and ZnUserAgent
> - now using the new logging facilities in Zn[Single|Multi]ThreadedServer, ZnFixedClient and ZnUserAgent
> - small fix to ZnUrl>>#printPathOn: to deal with cases where forward slashes are encoded in URLs
> - various small changes related to the Gemstone port (byte array literals, Unicode creation)
> - fixed an important bug related to reading entities upToEnd
> The latest version now is: 
> 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

More information about the Pharo-project mailing list