Implementation of REST Webservice for the P2PSP media sources.
Crossroads is a REST api server capable of creating and managing P2PSP channels. It is written in Javascript and uses Node runtime to achieve low-overhead request-response model. In current implementation, it provides functionality for creating, editing and deletion of channels by user and manages all processes by itself in background. The processes are spawned and killed in accordance with their lifetime and proper care is taken to avoid any sort of shell injection or unauthorized entry to the system.
To facitilate the proper integration of crossroads with existing p2psp core and console binaries, I made commits to required repositories in P2PSP org and made the changes while keeping the resulting binary backward compatible. I also introduced a smart source-client mode and created a node program to simulate its working as well. The project was started from scratch in my own repository and was consequently transferred to P2PSP org. All development is aided with proper unit testing and automated developer doc generation too.
I'm also working on feature to launch p2psp binaries on a different host than the one which runs crossroads and shall be completed soon.