{"_id":"scylla","_rev":"16-b98b2237515133312fb3077e6acd2e1a","name":"scylla","description":"Simple router/microframework for NodeJS","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"version":"0.1.0","description":"Simple router/microframework for NodeJS","main":"./lib/scylla","author":{"name":"Michael Stillwell","email":"mjs@beebo.org"},"name":"scylla","engines":{"node":">=0.1.95"},"_id":"scylla@0.1.0","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/scylla/-/scylla-0.1.0.tgz","shasum":"52fa00cea0b6291557c7fb4c9f1dff5b9f35b837","integrity":"sha512-KKc2k8O7wfEiCFcE4TX8qO53E3c0fgaEW+CozYe8W0xGHXYLQBht5w6lXJtELbuutGU0iu+5ftLF2vhQljAWsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG4D/ShBdrnKIwe3/O2SSVNsDxkZwM8g2l/P9q4gvtmqAiEA8cVV7ROGQkMxRACOq+7aylvUSpR+kLkLbR10RglKLwo="}]}},"0.1.1":{"version":"0.1.1","description":"Simple router/microframework for NodeJS","main":"./lib/scylla","author":{"name":"Michael Stillwell","email":"mjs@beebo.org"},"name":"scylla","engines":{"node":">=0.1.95"},"_id":"scylla@0.1.1","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/scylla/-/scylla-0.1.1.tgz","shasum":"f7f24d303c8f3d7a8b531afdf473e946ecf77f75","integrity":"sha512-Vz0qMf1NS/htQenivgpXtno8x4hvqtAoOrKWka4XSmtXhTnopEoxM5U8Uk63ayqooQR+essNSYiR2kRajEDovA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1b79+YgVWkbqo52hWsK9qJ0yQhlBY3N1y4yIBJfLIOwIgDaKXP7ljvs3Aq8BTZhitXypJAZRO4SUzQYpBfY98LhQ="}]}},"0.1.2":{"version":"0.1.2","description":"Simple router/microframework for NodeJS","main":"./lib/scylla","directories":{"lib":"./lib"},"author":{"name":"Michael Stillwell","email":"mjs@beebo.org"},"name":"scylla","engines":{"node":">=0.1.102"},"_id":"scylla@0.1.2","_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"https://registry.npmjs.org/scylla/-/scylla-0.1.2.tgz","shasum":"6274c0180b84a7b7b66a6f74dc85739f79e42e70","integrity":"sha512-f115KWPoGNkRngU/u/2KydcD29rUo5qfc/bKb1h/dNXCb1oJaOw5BVIZBQLzKqL1EF80W/m7hynG+rywETYRGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDybdpEWgG0e7lFTf2e4ZyjNcDqLUoMcNP1pfClVPF2xQIgcCtZ+lhQ0Wv5vwObFEOmFCfqFdGjJfOELE0J3U947kE="}]}},"0.2.0":{"name":"scylla","author":{"name":"Michael Stillwell","email":"mjs@beebo.org"},"homepage":"https://github.com/ithinkihaveacat/node-scylla","bugs":"https://github.com/ithinkihaveacat/node-scylla/issues","version":"0.2.0","description":"Simple router/microframework for NodeJS","main":"./lib/scylla","directories":{"lib":"./lib"},"engines":{"node":">=0.8"},"scripts":{"test":"cd test && make"},"_id":"scylla@0.2.0","dist":{"shasum":"7d8c1cd7a8298a7e83c4314a9882941825d65300","tarball":"https://registry.npmjs.org/scylla/-/scylla-0.2.0.tgz","integrity":"sha512-s09zYP9G19Ii5NmpyOMeYjYB75GLTwff1kv6UhsQMxaNK9oCoYBeLnKDkJchr9MmcScndwGizqsUV30YmCGrxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY7pXGjkYFazlQjtirCXlomMg1jQ2ro3u72XG0HDAWQgIhAJvfpyjKAavt4J4SQmO3CArEU/N7VclZQ2oBbPFXIQBx"}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"mjs","email":"mjs@beebo.org"},"maintainers":[{"name":"mjs","email":"mjs@beebo.org"}]}},"maintainers":[{"name":"mjs","email":"mjs@beebo.org"}],"author":{"name":"Michael Stillwell","email":"mjs@beebo.org"},"time":{"0.2.0":"2013-02-24T15:51:52.278Z","modified":"2022-06-26T17:00:09.744Z","created":"2013-02-24T15:51:52.278Z","0.1.0":"2013-02-24T15:51:52.278Z","0.1.1":"2013-02-24T15:51:52.278Z","0.1.2":"2013-02-24T15:51:52.278Z"},"readme":"# Scylla [![Build Status](https://travis-ci.org/ithinkihaveacat/node-scylla.png)](https://travis-ci.org/ithinkihaveacat/node-scylla)\n\nA router/microframework for [NodeJS](http://nodejs.org/).\n\nScylla:\n\n  * Is tightly tied to HTTP--there's no HTTP abstraction going on.\n  * Handles all HTTP verbs more or less equivalently--it's no more\n  difficult to handle a DELETE than a GET, for example.\n  * Uses standard regular expressions to do the URL matching and\n  routing. \n\nA Scylla application is simply a JavaScript object that inherits from\n`scylla.Base`.  To figure out how to route a request, Scylla looks the\nmethod names of this object, which double as URL-matching patterns: the\nmethod `GET /user/(.*)` is invoked when a `GET` request is made for a URL\nlike `/user/mjs`.  (And `mjs` is passed as an argument to the method.)\n\nIf `myapp` is a Scylla object, calling the `dispatcher()` method on it\nreturns a function suitable for passing to `http.createServer(...)`:\n\n    http.createServer(myapp.adapter('nodejs')).listen(8000);\n\n## Examples\n\n### Hello, World\n\n    require.paths.unshift(\"../lib\");\n\n    var sys = require('sys'),\n        scylla = require('scylla');\n\n    function HelloWorld(name) {\n        scylla.Base.call(this);\n        this.name = name;\n    }\n\n    HelloWorld.prototype = scylla.beget({\n\n        \"GET /$\": function(req, res) {\n        \n            var body = \"Hello, \" + this.name + \"!\\n\";\n\n            res.writeHead(200, {\n                \"content-type\": \"text/plain\",\n                \"content-length\": body.length\n            });\n            res.write(body);\n            res.end();\n\n        }\n\n    });\n\n    DEBUG = true;\n\n    require('http').createServer(new HelloWorld(\"Michael\").adapter('nodejs')).listen(8000);\n\n### Other Examples\n\nThere are a few Scylla demos in the `examples` directory:\n\n    $ node static.js \n    Server running at http://127.0.0.1:8000/\n\n    Examples:\n\n      $ curl -i -s -X GET http://127.0.0.1:8000/static.js\n      $ curl -i -s -X GET http://127.0.0.1:8000/status\n\n## Author\n\nMichael Stillwell<br/>\n[mjs@beebo.org](mailto:mjs@beebo.org)<br/>\n[@ithinkihaveacat](http://twitter.com/ithinkihaveacat)\n","readmeFilename":"README.md"}