Announce - Restlet 1.0 beta 1
- Hi all,
The Restlet project has reached an important milestone. Encouraged by the quality of the feed-back since the first public release, I am happy to announce the release of version 1.0 beta 1. The project is now entering a phase of code stabilization, bug fixing and minor enhancements. A final version 1.0 ready for production is scheduled for Q2 2006. Here is a summary of the changes since 0.19 beta:- Noelios Restlet Engine is now automatically registered with the Restlet API if no other implementation is specified. A flexible registration mechanism was also added based on a system property naming a factory class. Also, many factory methods were added to the Manager class helping the decoupling of your applications from a particular implementation.- The Restlet API was simplified in many ways. First, the RestletCall interface has been absorbed by the UniformCall. As a result, Maplets, Chainlets and Restlet containers can now delegate directly to any handler implementing the UniformInterface, not just Restlets. In addition, a "redirectRef" property was added, removing the old way of passing the URI in the call output. For consistency purpose, the getPaths, getPath and getMatches methods were renamed to getResourcePaths, getResourcePath and getResourceMatches. Then, the client preferences were refactored into a PreferenceData interface accessible via the "preference" property. Finally, RestletException was removed and existing JDK exceptions are used instead.
- The support for cookies was completed. Custom readers and writers were implemented allowing a homogeneous behavior across all connectors (HTTP client and servers). Also, the Cookies interface was replaced by List<Cookie> and lazy parsing was implemented to prevent unnecessary parsing and list creations when cookies are not actually used.- The connectors were refactored, especially the HTTP client and servers. The Connector interface now implements UniformInterface and shortcut methods (get, post, put and delete) were added to the Client interface. Also, thanks to some remarks from Benjamin Carlyle, I decided to provide a set of HTTP call interfaces allowing direct interaction with HTTP connectors and access to low-level artifacts like HTTP headers. The new HttpCall also has a static list of all HTTP statuses and header names. Finally, JavaMailCall and JdbcCall were replaced by factory methods on their respective connector class.- The default HTTP client connector was significantly enhanced to support cookies, conditions, preferences, output representation metadata, redirection reference, server name and basic HTTP authentication.- The Jetty connectors were refactored to prevent logic duplication and to support multiple listener types (HTTP, HTTPS and AJP). Also, the Jetty 6 connector was updated to version 6.0 beta 7. Finally, the HttpServer interface now as a standard method to configure HTTPS/SSL.- Support for media type encoding modifiers was added to RepresentationMetadata, allowing pre-compressed files and dynamic compression of any representation. The support for encoding file extensions and default encoding setting is already available in the DirectoryRestlet. Thanks to John D. Mitchell for the suggestions.- The tutorial and sample code were nicely simplified using the latest API changes.Best regards,
Jerome Louvel---Project home:
http://www.restlet.orgDirect download link:
http://www.restlet.org/downloads/restlet-1.0b1.zipFor further change details, see the change log: