Heteroclinic.net logo

www.heteroclinic.net

Project lightjsd
Introduction

20150228

Lightjsd is a light-weight Web server to study and experiment basic Web service functionality and to ease writing and testing Javascript programs. It uses Sun/Oracle com.sun.net.httpserver package. We wrap this server so it is more convenient for us to add more tests, more easily to embed Javascripts in service contexts.

Project lightjsd
License

20150228

All third party licenses and rights are automatically cascaded. The responsibility of the author(s), Zhikai Wang/www.heteroclinic.net, to the maximum is to remove or modify matters in dispute. You can utilize this project at good-will. The inverse of good-will includes illegal activities that are subject to jurisdiction applicable. Zhikai Wang/www.heteroclinic.net (c) 2015.

Project lightjsd
QuickStart

20150228

After you get the source repository, you can use an IDE to open the Maven project. The entry point of the server is in Portal.java. You can study the project by reviewing examples in package net.heteroclinic.lightjsd.examples. Or study the test cases in folder src/test/java. To compile the binary, at the source root directory, execute 'mvn clean package'. To execute/start the binary, run 'java -jar target/lightjsd-*.jar'. Use ctrl-c or 'kill pid' to end the server in protocol (calling shutdown-hook).

You can use this file.
lightjsd-1.0.0-beta.tar.gz
md5sum: 76a377d0c831c3051f2a59eb1db312d2
Or checkout the Github repsoitory git@github.com:wangzhikai/lightjsd.git.

Project lightjsd
Beta 1.0 Release Note

20150228

In this release, we experimented wrapping Sun/Oracle HttpServer, using Java URL class to do the REST end test. We also experimented how to handle resource management. We used Maven as the project management tool to resolve software library/jar dependencies. We also experimented how to terminate threads or processes in execution with protocol. We added as many as unit tests as possible. We tried to document as best as possible. Although writing the tests and documenting slow down the process, but without them it will be very difficult to pick up the project again sometime later. The tests provide a base to fix issues related to third-party/dependency library updates.
In this release, we implemented the basic plain HttpServer. We will continue working on https support and part of the basic experiments has been done. The objective is to use this project as a message dispatcher in an applicable scenario.