{"id":19830643,"url":"https://github.com/ringo/stick","last_synced_at":"2025-06-17T23:07:09.633Z","repository":{"id":1174045,"uuid":"1069942","full_name":"ringo/stick","owner":"ringo","description":"JSGI middleware composition layer and application framework","archived":false,"fork":false,"pushed_at":"2021-12-08T19:12:12.000Z","size":652,"stargazers_count":47,"open_issues_count":5,"forks_count":17,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-01T15:39:59.759Z","etag":null,"topics":["javascript","middleware","ringojs","stick","webframework"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-11-10T23:09:48.000Z","updated_at":"2023-12-08T19:42:26.000Z","dependencies_parsed_at":"2022-08-16T12:25:23.768Z","dependency_job_id":null,"html_url":"https://github.com/ringo/stick","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/ringo/stick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringo%2Fstick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringo%2Fstick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringo%2Fstick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringo%2Fstick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringo","download_url":"https://codeload.github.com/ringo/stick/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringo%2Fstick/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260453746,"owners_count":23011577,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","middleware","ringojs","stick","webframework"],"created_at":"2024-11-12T11:24:32.208Z","updated_at":"2025-06-17T23:07:04.617Z","avatar_url":"https://github.com/ringo.png","language":"JavaScript","readme":"# Stick\n\nStick is an extensible HTTP server framework for [RingoJS](http://ringojs.org/) to create modular web applications\ncomposed out of \"plugins\" (also known as \"JSGI middleware functions\").\n\n## Overview\n\nCompose web applications out of plugins:\n\n    var {Application} = require(\"stick\");\n\n    var app = exports.app = Application();\n    app.configure(\"notfound\", \"error\", \"static\", \"params\", \"mount\");\n    app.static(module.resolve(\"htdocs\"));\n    app.mount(\"/\", require(\"./views\"));\n\nCurrently Stick comes with the following middleware modules:\n\n * accept       - HTTP content negotiation helper\n * basicauth    - basic HTTP authentication\n * cookies      - read HTTP cookies\n * cors         - Cross-site HTTP requests access control\n * csrf         - CSRF mitigation\n * error        - generating error pages\n * etag         - ETag based conditional GET\n * gzip         - GZip content encoding\n * locale       - Discover the locale from various possible sources\n * method       - HTTP method overriding\n * mount        - mounting other applications\n * notfound     - generating 404 pages\n * params       - form data parsing\n * profiler     - JavaScript profiling\n * render       - mustache.js templates (use `rp install ringo-mustache`)\n * requestlog   - collecting per-request log messages\n * route        - Sinatra-like request routing\n * session      - session support\n * static       - serving static files\n * upload       - handling file uploads\n\nStick provides an `Application` object that can be used to compose web\napplications out of JSGI middleware components. Middleware can in turn\ndefine methods or properties on the application object to make itself\nconfigurable to the outside world.\n\nCheck out the demo applications and documentation to learn more.\n\n## Running\n\nUse the ringo package manager to install Stick:\n\n    $ rp install stick\n\nTo start the stick demo application run the `ringo` command with the \n`demo.js` script in the stick directory:\n\n    $ ringo examples/demo.js\n\nThen point your browser to \u003chttp://localhost:8080/\u003e.\n\n## License\n\nStick is distributed under the MIT license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringo%2Fstick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringo%2Fstick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringo%2Fstick/lists"}