{"_id":"froyo","_rev":"60-78e101eaa0728edec03e1ac67b0daad4","name":"froyo","description":"A simple, micro-framework for Node.js.","dist-tags":{"latest":"0.9.7"},"versions":{"0.3.0":{"name":"froyo","version":"0.3.0","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"_id":"froyo@0.3.0","dist":{"shasum":"48404d020fdf531bfaf81a890b27435cbd2cc3ad","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.3.0.tgz","integrity":"sha512-honM1pzu4BTt7x+4wNgEqbdl16o2lXz4ogRs/EsxGMJuhZYAudYfx/96KBCYO8vpb/3sCpQODruZJtfm3x9+rw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHaOEcBmmZxmQUXNu1i60ntBI5/6IKaeOEeh1wZvxnI8AiBC8eQEpZaUTiYaTI/ke7AD9ilnMawrkI/Kkf+8G7vfxA=="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.4.0":{"name":"froyo","version":"0.4.0","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"_id":"froyo@0.4.0","dist":{"shasum":"212ab77776e2b5f9672fb018ed90cebfe0a7a9b8","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.4.0.tgz","integrity":"sha512-uNIiQW6UmrIfU73ulUc0YCqaxXRUhTuVM9zglzDXDm0bgzrJ873O61rhetHc06k7y5JTgUmjZgXeyU/7rwznog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2VlD7p/HWDAH/j8DgiO+f454XXaABBRxfl5QVeUNVKAiAIAFOV6oc5LGOyvcVeHqRDoaGF4Zly4EZk5cpFzGbugA=="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.4.1":{"name":"froyo","version":"0.4.1","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"_id":"froyo@0.4.1","dist":{"shasum":"944bf0a879fab55ca939d556e014d9aaf1e2edcd","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.4.1.tgz","integrity":"sha512-NgzN9kZJ6Bd2kAA/NR8nW19Spwh7jnAL6VOrsDtYEZhdWbctv7EtZFtorCqrfadeKVrlY3YBWTDjRRBTOCCHpQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICRnGocr0s8UdGAYWHrbC7CcDOn/jY0Vwudz5fvifcSfAiB0+vwZani2AitTLSsRofdAhmNiDiqvbb5xNywL9YdUpQ=="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.4.2":{"name":"froyo","version":"0.4.2","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"files":["README.md"],"_id":"froyo@0.4.2","dist":{"shasum":"80d83932b9d247265361d3613e0365711406c15c","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.4.2.tgz","integrity":"sha512-0uTWWpjaouwg/s+Yg23IrHEY5pXi+o5kEu6IwBofUjU9UcGZyrRzMHhAEbzToRjRLegh8vh2s0UvuIlQDwZLKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBzakNCwQZHvDKPA8PR5lR1aoiehLb1pZTD75Bkau9EAIhAKGWg8sTqZBC4mP+HplDJPApQUOpRirbyyJnWwHLU4qg"}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.4.3":{"name":"froyo","version":"0.4.3","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"files":["README.md"],"_id":"froyo@0.4.3","dist":{"shasum":"30b93d770c0d204f29b694693d61d4d92cb8899d","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.4.3.tgz","integrity":"sha512-op9Gs23yumZEIRGYxWY56Kzlz8/1pckVqPCjl+WJlsHythsYA8XBCG8WTxKwBun58n5IDRPoBjnZx1/9gw2uww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXVKxQo0bV65GpwXcgGEQbNvygL/DbHqikgk4dD2urGAiEAk7LGlun1QsVpzvmyuXn7DfKRjmSuxlxwvY+89NszGHI="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.4.4":{"name":"froyo","version":"0.4.4","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"files":["README.md","froyo.js"],"_id":"froyo@0.4.4","dist":{"shasum":"0f1613b8f8a2e58351edf41190c651aae31e9fba","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.4.4.tgz","integrity":"sha512-kvTC+Vzxp8MTsjvG2HAHKkTD+zFxxUVwooyOaXB0sUFwFXh/iopfiqJOkjP7Z2frN0lVBut8lMRgaimF0FnNhA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGVr98nlaX9g1Uf2K9yFmHX1vHQZWNETj7XAFQd134KXAiEAyYRRzfiOVV/z3kUXzJHmzsUPxMsjo/OnA7qtIJiRe2o="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.0":{"name":"froyo","version":"0.9.0","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"dependencies":{"mustache":"*","connect":"*","routes":"*"},"scripts":{"test":"mocha --reporter spec"},"files":["froyo.js","lib","test","Jakefile.js","README.md"],"_id":"froyo@0.9.0","dist":{"shasum":"439d9c8e1885580a7d12d7cc05ea72be1da48bb8","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.0.tgz","integrity":"sha512-0TIIslsQKnu3egn47UvG5KXt+lXnb8BDRVGzHZjcN0ERBpVhSO5ToCajPjtZwqrogiZYegBFEeWnWXSi1W/pHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHN04/ANo4r1yA8wxF430oby4jrnSLj3sNKSb4rm18SwIgdHliTC/I9iEgXZ7ZLRqvqEgPX74cuA0U9BWF+V50Bgw="}]},"_npmVersion":"1.1.63","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.1":{"name":"froyo","version":"0.9.1","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"dependencies":{"mustache":"*","connect":"*","routes":"*"},"scripts":{"test":"mocha --reporter spec"},"files":["froyo.js","lib","test","Jakefile.js","README.md"],"_id":"froyo@0.9.1","dist":{"shasum":"4c68413dd3285fc624edecd8fea4dcd73f6c2e99","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.1.tgz","integrity":"sha512-96ctgHElIhOYz6f+B5sHgM+KY2jfN3cMpXQyUkFuR+DDN/4/7XQvrmPYJX9DAU9Jsl4C/DqGs6LRAIT6Pgc5+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICdKCB9T5+YJPATCV3vhugf9zaMEJiULmz4AFlb1mGLBAiBm0S337XozPqVlMO7X2SwHJMWWSNBLCQJuyvjswCZ2qQ=="}]},"_npmVersion":"1.1.63","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.2":{"name":"froyo","version":"0.9.2","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple","connect"],"main":"froyo.js","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"dependencies":{"mustache":"*","connect":"*","routes":"*"},"devDependecies":{"mocha":"*","rewire":"*","supertest":"*"},"scripts":{"test":"node ./node_modules/mocha/bin/mocha --reporter spec"},"license":"MIT","files":["README.md","lib","test","froyo.js","package.json"],"_id":"froyo@0.9.2","dist":{"shasum":"f61f65c21e4f8a1c1292cea2e96609e9bbc85177","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.2.tgz","integrity":"sha512-d6IccvtnO1QKE20UcvJSBKAqc2TqxYFH4bX18tYm75BN9KEkYfuLCSw8JNPC/121J35X478t3Xeu4cFtYbFhyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErJDqNyJRgBvep4oSwCRpFlM9AMyKS8glM3zklmEwdZAiAU+etaoRmcy9lHJd0UOzpbBHD1Tvm8NsIlZ92bQE0Ocw=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.3":{"name":"froyo","version":"0.9.3","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple","connect"],"main":"froyo.js","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"dependencies":{"mustache":"*","connect":"*","routes":"*"},"devDependecies":{"mocha":"*","rewire":"*","supertest":"*","marked":"*"},"scripts":{"test":"node ./node_modules/mocha/bin/mocha --reporter spec"},"license":"MIT","files":["README.md","lib","test","froyo.js","package.json"],"_id":"froyo@0.9.3","dist":{"shasum":"d57afda847fdab366485f87f929c33143c64844e","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.3.tgz","integrity":"sha512-TjmV3Xi7RKsDRh8S7FVdUcEPXZfmGoKPeNDS9YSqNdA2GGkGi4PNiV8HqzAkXJYgxT185k9P7Tdml8zUNgiwKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0SoKqfUqTmcFvdv4bkemGXD4oZlUW2itgIh+HoTTVXwIhAI2RCBnOXfWtpnv0TJ48ITgG3mwZt6ccNyxRPvtJ8qa+"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.4":{"name":"froyo","version":"0.9.4","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple","connect"],"main":"froyo.js","homepage":"http://pyscripter255.github.com/froyo/","repository":{"type":"git","url":"https://github.com/PyScripter255/froyo.git"},"dependencies":{"toothbrush":"*","connect":"*","routes":"*"},"devDependecies":{"mocha":"*","rewire":"*","supertest":"*","marked":"*"},"scripts":{"test":"node ./node_modules/mocha/bin/mocha --reporter spec"},"license":"MIT","files":["README.md","lib","test","froyo.js","package.json"],"_id":"froyo@0.9.4","dist":{"shasum":"22d59cdd5046e0b7573797f1361d816877af58ae","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.4.tgz","integrity":"sha512-Xflx2/3wqCw/lVdmB98Ie2RLhlhwkDX7UUPqnU+2ewOjBIgznSjRPG8+2dYXPgcmPbWE2i+0n5x6m7oAnORvKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDareZCrWMdl5yTBa8hH+No+8x05L3ABM3s/pECjP8aWgIhAImQfdk3TslpXtiYJ60LrWpumjfDdf4Sft5vXruDK/J4"}]},"_npmVersion":"1.1.65","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.5":{"name":"froyo","version":"0.9.5","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple","connect"],"main":"froyo.js","homepage":"http://pyscripter255.github.com/froyo/","repository":{"type":"git","url":"https://github.com/PyScripter255/froyo.git"},"dependencies":{"toothbrush":"*","connect":"*","routes":"*"},"devDependecies":{"mocha":"*","rewire":"*","supertest":"*","marked":"*"},"scripts":{"test":"node ./node_modules/mocha/bin/mocha --reporter spec"},"license":"MIT","files":["README.md","lib","test","froyo.js","package.json"],"_id":"froyo@0.9.5","dist":{"shasum":"35d27430dadd31fdc191225d3475a1036ee2f2c3","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.5.tgz","integrity":"sha512-D58xcLLRP+Kkb5HE5sypJoGt0QrvdnWFTP1KgvgDjna4AdsTkyU6eW7Cqrp1U9JQJCbGDMOVS/QAWBiO48uPeA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBOBqoUrqs05jvTaAy8etwJQqDeSIUgKymbpypVafwNJAiAqpiQ5kbtKHr0JD+F0tpgdI+d+ope+jGk0yq4nzH+gkw=="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.6":{"name":"froyo","version":"0.9.6","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple","connect"],"main":"froyo.js","homepage":"http://pyscripter255.github.com/froyo/","repository":{"type":"git","url":"https://github.com/PyScripter255/froyo.git"},"dependencies":{"toothbrush":"*","connect":"*","routes":"*"},"devDependecies":{"mocha":"*","rewire":"*","supertest":"*","marked":"*"},"scripts":{"test":"node ./node_modules/mocha/bin/mocha --reporter spec"},"license":"MIT","files":["README.md","lib","test","froyo.js","package.json"],"_id":"froyo@0.9.6","dist":{"shasum":"04b96d57d5f8d2ad9db92436abc502a528a65c34","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.6.tgz","integrity":"sha512-3UpMtQEUZ50XIjtP6aOTg9Yu1k1xc9aog8J32l3tpbCZg5r4VfJukH5JS8XwZ8c7clEpqzAqsSQLbRGbM7chyQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1JEcMgcNRz61Xq/UBnX53a2vDiObxpdDR6IaJBE/AoQIgZLTq9EFYVakwCqmgHsz0PzcdVgmotCZh+iHKhISM+tY="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.3.1":{"name":"froyo","version":"0.3.1","author":{"name":"PyScripter255","email":"https://github.com/PyScripter255"},"description":"A simple, micro-framework for Node.js. Works with the cluster module.","keywords":["micro-framework","cluster","simple"],"main":"froyo","homepage":"http://pyscripter255.github.com/frozen-yogurt/","repository":{"type":"git","url":"https://github.com/PyScripter255/frozen-yogurt.git"},"_id":"froyo@0.3.1","dist":{"shasum":"7c74d6d0f36986058fbe3641ec262a3ce5bd1dbd","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.3.01.tgz","integrity":"sha512-ZIsx3o4X5GwVckO5IeU48KcEkDCWLmEvlyCvmN/WTXhQ6aAcF9gBZuOdDDTgJ1wc4CylhBsjT8fMTTs4/DIN8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAyB19AMr2LI6LsSH/fpnd0okJ5jrlBYu953/nMPHbT4AiBuqBaZiPS6Mu9FRghl0xktNBaqnKxISkDBerm1Xmfi8w=="}]},"_npmVersion":"1.1.59","_npmUser":{"name":"pyscripter","email":"pyscripter@hotmail.com"},"maintainers":[{"name":"pyscripter","email":"pyscripter@hotmail.com"}],"directories":{}},"0.9.7":{"name":"froyo","version":"0.9.7","author":{"name":"James A. Eschrich"},"description":"A simple, micro-framework for Node.js.","keywords":["micro-framework","simple","connect"],"main":"froyo.js","homepage":"http://bvirus.github.com/froyo/","repository":{"type":"git","url":"https://github.com/bvirus/froyo.git"},"dependencies":{"toothbrush":"*","connect":"*","routes":"*"},"devDependecies":{"mocha":"*","rewire":"*","supertest":"*","marked":"*"},"scripts":{"test":"node ./node_modules/mocha/bin/mocha --reporter spec"},"license":"MIT","files":["README.md","lib","test","froyo.js","package.json"],"bugs":{"url":"https://github.com/bvirus/froyo/issues"},"_id":"froyo@0.9.7","dist":{"shasum":"59d073e136dbb61bd8bae3c72a217f552614d5c2","tarball":"https://registry.npmjs.org/froyo/-/froyo-0.9.7.tgz","integrity":"sha512-Og9JTO81S3Sp6fclYCHhj3A2kYFy6+hDkhJB487+SfM6opRBbyD8LFC3pRGjQkOiFOVGQoy61MV+BbWHVQYutg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDznCtf0RoKQndCMmUJSkE8u40hOWyL5uIv4lVFe1J60wIge023/MSep6p4XeSVlmtymn6SMtI5y9RT82ptkcmhCmk="}]},"_resolved":"c:\\Users\\James\\AppData\\Local\\Temp\\npm-9940-nDkLE1mP\\1390102203129-0.8517843782901764\\tmp.tgz","_from":".","_npmVersion":"1.3.13","_npmUser":{"name":"bvirus","email":"jaeschrich+npm@gmail.com"},"maintainers":[{"name":"bvirus","email":"jaeschrich+npm@gmail.com"}]}},"readme":"#Froyo\r\n##Node.js Micro Awesomeness\r\n```froyo``` is a simple, expressive node.js micro-framework.\r\n\r\n##Changelog v0.9.7\r\n1. Exposed app.router (can be used in the middleware stack now)\r\n2. Abstracted the response utilities into a seperate module\r\n3. app.set(\"template\") is now app.set(\"view engine\")\r\n4. ```res.render``` is better now\r\n    ```javascript\r\n    app.set(\"views\", \"viewDirectory\"); // default is ./views\r\n    app.set(\"view ext\", \".mustache\") // default extension .html\r\n    // in callbacks\r\n    res.render(\"test\") // renders viewDirectory/test.mustache, default is ./views/test.html\r\n    ```\r\n5. String routes (EXPLAIN!)\r\n\r\n##Install\r\n\r\n###With npm:\r\n\r\n```\r\nnpm install froyo\r\n```\r\n\r\n###Install from source:\r\n\r\n```\r\ngit clone git://github.com/PyScripter255/frozen-yogurt.git\r\n\r\ncd frozen-yogurt\r\n\r\nnpm install\r\n```\r\n\r\n##Example\r\n\r\n```javascript\r\nvar froyo = require(\"froyo\")\r\nvar app = froyo.app();\r\n\r\nvar thePosts = {\r\n    \"bob\": [\"Froyo is cool\", \"Have you tried it?\"],\r\n    \"joe\": [\"Really?\", \"Nope\"]\r\n}\r\n\r\nfunction givePosts(req, res){\r\n    res.writeHead(200, {\"Content-Type\": \"text/json\"})\r\n    res.end(JSON.stringify(thePosts))\r\n}\r\n\r\nfunction index(req, res){\r\n    res.render(\"./index.html\", {lasestPost: \"foobar\"}) // using the default mustache templates\r\n}\r\n\r\nvar postComment = {\r\n    post: function(req, res){\r\n        res.writeHead(200, {\"Content-Type\": \"text/json\"})\r\n        var comment = \"\";\r\n        req.on(\"data\", function(data){\r\n            var comment += data;\r\n        })\r\n        req.on(\"end\", function(){\r\n            posts[req.params.post].addComment(JSON.parse(comment))\r\n        })\r\n        }\r\n}\r\n\r\napp.scoop({\r\n    \"/\": index,\r\n    \"/posts\": givePosts,\r\n    \"/comment/:post\": postComment\r\n})\r\n\r\napp.start(8080);\r\n```\r\n\r\n##License\r\nThe MIT License \r\n\r\nCopyright (c) 2012 James A. Eschrich\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), \r\nto deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, \r\nand/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, \r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, \r\nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR \r\nOTHER DEALINGS IN THE SOFTWARE.\r\n\r\n##API Docs:\r\n\r\n###Froyo\r\n\r\nMain namespace. Contains all of connect.middleware\r\n\r\n###Froyo.app [Function]\r\n\r\nreturns a new app\r\n\r\n###App [Object]\r\n\r\nIt's an extended version of the connect server. It has the following extra methods:\r\n\r\n####App.scoop\r\n\r\nAdds request handlers to your app. It can be called at anytime, and the routes are based on [routes](https://github.com/aaronblohowiak/routes.js).\r\n\r\nTakes an Object mapping paramter\r\n\r\n#####Example\r\n\r\n```javascript\r\napp.scoop({\r\n    '/': index,\r\n    '/posts/:post': getPost\r\n})\r\n```\r\n\r\n####App.set\r\nSets a key to a value.\r\n\r\n```javascript\r\napp.set(\"mode\", \"production\")\r\n```\r\nThere are only two important key/value pairs. One is the template key, which is set to the template function (see extend on the wiki).\r\n\r\n```javascript\r\napp.set(\"template\", templateFunction)\r\n```\r\n\r\nBy default, this is set to froyo's built in mustache template renderer.\r\n\r\nThe other is the mode:\r\n```javascript\r\napp.set(\"mode\", mode);\r\n```\r\nSetting the mode to anything other than development (the default) stops full error logging. \r\nOther than that, you can set key to any value.\r\n\r\n####App.get\r\nReturns a value by getting a key:\r\n```javascript\r\napp.get(\"mode\") // development\r\n```\r\n####App.start\r\n\r\nTakes a port argument. Starts the app at the port specified.\r\n\r\n#####Example\r\n\r\n```javascript\r\napp.start(8080)\r\n```\r\n\r\nExactly like doing this:\r\n\r\n```javascript\r\nhttp.createServer(app).listen(8080)\r\n```\r\n\r\n###Froyo request handlers\r\n\r\nJust like node.js request handlers:\r\n\r\n```javascript\r\nfunction(req, res){\r\n\r\n}\r\n```\r\nHowever there are some differences.\r\n\r\n* ```req.params.*``` is populated with the field you specified in the url routes.\r\n\r\n```javascript\r\napp.scoop({\r\n    '/posts/:post': posts // req.params.post is populated\r\n})\r\n```\r\n\r\n* You can also pass objects\r\n\r\n```javascript\r\nvar index = {\r\n    get: function(req, res){\r\n    ...\r\n    },\r\n    post: function(req, res){\r\n    ...\r\n    }\r\n}\r\napp.scoop({\r\n    '/': index\r\n})\r\n```\r\n\r\nIf you pass a function, that function is served for GET requests.\r\n\r\n```javascript\r\nfunction index(req, res){\r\n...\r\n}\r\n\r\n//and\r\n\r\nvar index = {\r\n    get: function(req, res){\r\n    ...\r\n    }\r\n}\r\n\r\n//are the same thing\r\n\r\n//but!\r\nfunction index(req, res){\r\n...\r\n}\r\n\r\n//and\r\n\r\nvar index = {\r\n    get: function(req, res){\r\n    ...\r\n    },\r\n    post: function(req, res){\r\n    //exact same function\r\n    }\r\n}\r\n//are not the same!\r\n```\r\n* You have the res.render function\r\n\r\n```javascript\r\nfunction index(req, res){\r\n    res.render(file, optionsOrConfig) \r\n    // use app.set(\"template\", yourTemplateName) to change from default template (mustache)\r\n}\r\n```\r\n\r\nFroyo ships with mustache templates, enabled by default.\r\n\r\n```javascript\r\nfunction index(req, res){\r\n    res.render(\"./index.html\", {name: \"Example\"})\r\n}\r\n```\r\n\r\n* You have the res.sendFile function, which streams a file to the client\r\n```javascript\r\nfunction index(req, res){\r\n    res.sendFile(path);\r\n}\r\n```\r\n\r\n* and the res.redirect function\r\n```javascript\r\nfunction index(req, res){\r\n\tres.redirect(path)\r\n}\r\n```\r\n\r\n##Developer Guide\r\n\r\n###Code Guide\r\n\r\n1. Use streams if possible.\r\n2. The API should be simple, expressive and unopinionated\r\n\r\n###Work with the code\r\n\r\n1. Install the dev dependencies ```npm install -d```\r\n2. Install with ```npm install```\r\n3. Test with ```npm test```\r\n","maintainers":[{"name":"bvirus","email":"jaeschrich+npm@gmail.com"}],"time":{"modified":"2022-06-18T03:49:04.180Z","created":"2012-09-17T20:32:27.866Z","0.3.0":"2012-09-17T20:32:29.159Z","0.3.01":"2012-09-18T02:07:34.348Z","0.4.0":"2012-09-21T20:13:49.244Z","0.4.1":"2012-09-21T20:35:19.315Z","0.4.2":"2012-09-21T20:41:19.310Z","0.4.3":"2012-09-21T20:41:51.888Z","0.4.4":"2012-09-21T20:46:59.674Z","0.9.0":"2012-11-01T23:25:21.272Z","0.9.1":"2012-11-05T01:33:00.116Z","0.9.2":"2012-11-22T22:28:24.762Z","0.9.3":"2012-11-24T17:41:21.740Z","0.9.4":"2012-11-24T21:40:58.120Z","0.9.5":"2012-11-24T21:41:54.703Z","0.9.6":"2012-12-04T23:21:07.062Z","0.9.7":"2014-01-19T03:30:05.090Z","0.3.1":"2014-01-18T23:01:41.454Z"},"author":{"name":"James A. Eschrich"},"repository":{"type":"git","url":"https://github.com/bvirus/froyo.git"},"readmeFilename":"README.md"}