Skip to content
This repository has been archived by the owner. It is now read-only.
JSGI middleware composition layer and application framework (Common Node edition)
Branch: master
Clone or download
Pull request Compare This branch is 83 commits ahead, 122 commits behind ringo:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Stick is a modular JSGI middleware composition layer and application framework.

It was originally made for RingoJS, but this fork allows it to also run on Common Node (a synchronous CommonJS compatibility layer for Node.js using node-fibers).

If you have any questions about Stick or its use in conjunction with mongo-sync and other libraries built on top of Common Node, please post them to the Common Node mailing list.


Stick provides an Application object that can be used to compose web applications out of JSGI middleware components. Middleware can in turn define methods or properties on the application object to make itself configurable to the outside world.

Currently Stick comes with the following middleware modules:

  • basicauth - basic HTTP authentication
  • continuation - generator-based async requests
  • error - generating error pages
  • etag - ETag based conditional GET
  • gzip - GZip content encoding
  • method - HTTP method overriding
  • mount - mounting other applications
  • notfound - generating 404 pages
  • params - form data parsing
  • profiler - JavaScript profiling
  • render - mustache.js templates (mustache shold be installed separately with npm install mustache)
  • requestlog - collecting per-request log messages
  • route - Sinatra-like request routing
  • session - session support
  • static - serving static files
  • upload - handling file uploads

Check out the demo applications and documentation to learn more.


Use npm to to install Stick:

$ npm install stick

To start the stick demo application run the common-node (Common Node is installed via npm install common-node -g) command with the demo.js script in the stick directory:

$ common-node examples/demo.js

Then point your browser to http://localhost:8080/.


Stick is distributed under the MIT license.

You can’t perform that action at this time.