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