Extensions refactoring (Net, SSL and Core)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Extensions refactoring (Net, SSL and Core)

Jerome Louvel-3
Hi all,

Quite a bit of changes have been made to RF 2.2 branch (upcoming 2.2 M7 version) in order to solve several issues:
  • internal NIO-based connectors in org.restlet.jar still lack stability and were moved to an org.restlet.ext.nio module to let them mature further

  • new internal connectors have been added based on the existing org.restlet.ext.net module (removed) for the client side (java.net.HttpURLConnection) and based on com.sun.net.httpserver for the server-side (HTTP/HTTPS) as we are now on JDK 6 which includes this lightweight web server.

  • the SSL extension was split into an org.restlet.ext.jsslutils extension for integration with the third-party jSSLutils library, and for the rest moved to either org.restlet.ext.nio for the HTTPS internal connectors, or to the core org.restlet module for the common SSL support classes, removing an extra dependency for many extensions such as Jetty, Simple and Apache HTTP Client. There is now also the CertificateAuthenticator in the org.restlet.security package.
An additional benefit will be that Android extension users won't need to manually configure the Net extension anymore to get the HTTP client working. The org.restlet.jar will also be smaller, improving the download size.

We still need to work on updating the test suite to ensure that all connectors are properly tested, but almost all test cases now pass with the new internal connector, for those who want to give them a try.

Best regards,
Jerome