#Extending dogfort for real world use
##Synopsis Nodejs provides a fast, lightweight platform for web servers, popularly used in real time applications. Although its possible to make clojurescript applications targeting nodejs, the current experience is far from pleasant. Partly due to node’s heavy use of callbacks, and partly because most existing node libraries are heavily object oriented and imperative. Bodil Stokke’s dogfort (https://github.com/bodil/dogfort) is a nice proof of concept , inspired by ring and compojure, that abstracts out quite a few of these issues.
Dogfort uses ‘promises’ built on top on Node’s EventEmitter class abstracted by Bodil’s redlobster library, instead of chaining callbacks. This allows event handlers to return values which makes a ring inspired api (producing response maps from request maps) possible.
However before it can be put to real world use, Dogfort lacks a few crucial features necessary for any web server framework. This includes (and is not limited to):
- sess