0.2.14 • Public • Published


    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.



    npm i stick

    DownloadsWeekly Downloads






    Last publish


    • olegp
    • alexlamsl