{"_id":"http-framework","_rev":"28-f76d0984bdf68cb969edc592fe9b8520","name":"http-framework","description":"A web framework based purely on `require('http')`","dist-tags":{"latest":"1.2.0"},"versions":{"0.1.0":{"name":"http-framework","version":"0.1.0","description":"A web framework based purely on `require('http')`","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/http-framework.git"},"main":"index","homepage":"https://github.com/Raynos/http-framework","contributors":[{"name":"Raynos"}],"bugs":{"url":"https://github.com/Raynos/http-framework/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{"tape":"~1.0.2"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/http-framework/raw/master/LICENSE"}],"scripts":{"test":"node ./test/index.js","start":"node ./index.js","watch":"nodemon -w ./index.js index.js","travis-test":"istanbul cover ./test/index.js && ((cat coverage/lcov.info | coveralls) || exit 0)","cover":"istanbul cover --report none --print detail ./test/index.js","view-cover":"istanbul report html && google-chrome ./coverage/index.html","test-browser":"testem-browser ./test/browser/index.js","testem":"testem-both -b=./test/browser/index.js"},"testling":{"files":"test/index.js","browsers":["ie/8..latest","firefox/16..latest","firefox/nightly","chrome/22..latest","chrome/canary","opera/12..latest","opera/next","safari/5.1..latest","ipad/6.0..latest","iphone/6.0..latest","android-browser/4.2..latest"]},"_id":"http-framework@0.1.0","dist":{"shasum":"3a3f69f50f8bfae512f4a7af3c1d1646631deea0","tarball":"https://registry.npmjs.org/http-framework/-/http-framework-0.1.0.tgz","integrity":"sha512-hp2THm+gWJ9IuokZkFW538Q4xP7MjnTK4RB4S282VyYFdkCsJr1mNnlK+ooCKscCrvvVlIPGOF2o+oZOSXnZIQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF72fcAVEG/CltOUqaFhz0wRTfVPS9lfW2+lND+s01IBAiEA4WaqVbVP0bKPtVhjxPJ6pA04v23Vu5FDD4W0HBxqlJo="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"1.0.1":{"name":"http-framework","version":"1.0.1","description":"A web framework based purely on `require('http')`","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/http-framework.git"},"main":"index","homepage":"https://github.com/Raynos/http-framework","contributors":[{"name":"Raynos"}],"bugs":{"url":"https://github.com/Raynos/http-framework/issues","email":"raynos2@gmail.com"},"dependencies":{},"devDependencies":{},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/http-framework/raw/master/LICENSE"}],"scripts":{"test":"echo 'no tests'"},"_id":"http-framework@1.0.1","dist":{"shasum":"d289ad4c2810148ea724ed0f3b459c2b0b644dee","tarball":"https://registry.npmjs.org/http-framework/-/http-framework-1.0.1.tgz","integrity":"sha512-aHHLv2gekGoOJItdfGFZKr8w/KWHkeBgBnEBJItQFpyUMfYR4IBT3jWaox6D7Fr45C8x2GW+8anfr3HReerJJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHrkqxRKf5L04xHCM2+R404oXNS1jSK4wkyuOP7qe7hQIhAPoOv50Grw8Uve9F0xNylKbvlIB+enqiaaejeKVx/FUp"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"1.1.1":{"name":"http-framework","version":"1.1.1","description":"A web framework based purely on `require('http')`","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/http-framework.git"},"main":"index","homepage":"https://github.com/Raynos/http-framework","contributors":[{"name":"Raynos"}],"bugs":{"url":"https://github.com/Raynos/http-framework/issues","email":"raynos2@gmail.com"},"dependencies":{"redirecter":"~0.1.0","routes-router":"~1.3.2","error":"~2.0.3","send-data":"~3.1.2","st":"~0.2.3","generic-session":"0.0.2","redsess":"~0.3.2","filed":"~0.1.0","hyperscript":"~1.3.2","process":"~0.5.1","body":"~2.0.1"},"devDependencies":{"redis":"~0.9.0"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/http-framework/raw/master/LICENSE"}],"scripts":{"test":"echo 'no tests'","start":"node server.js"},"_id":"http-framework@1.1.1","dist":{"shasum":"fd2ef2deac320ffcbc8d042075aecea0a37a2dec","tarball":"https://registry.npmjs.org/http-framework/-/http-framework-1.1.1.tgz","integrity":"sha512-t7Du+IaC+NHES7zWYelWYuZj3CaObr9+0NqlL4A/eQ8z1m54uhjaPRekipxUJj0WL5eUh/XB6egm1vcBvyVtcQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICeLpUknTk668cchvSY4elyYz+NRoZW04/Yrf/ZgwZK0AiEAiy4+TibeMSY4nIGaqphM8tj587/qkliqx5pAYulHrMM="}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]},"1.2.0":{"name":"http-framework","version":"1.2.0","description":"A web framework based purely on `require('http')`","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/http-framework.git"},"main":"index","homepage":"https://github.com/Raynos/http-framework","contributors":[{"name":"Raynos"},{"name":"Matt-Esch"},{"name":"maxogden"}],"bugs":{"url":"https://github.com/Raynos/http-framework/issues","email":"raynos2@gmail.com"},"dependencies":{"redirecter":"~0.2.1","routes-router":"~1.5.3","error":"~2.0.3","send-data":"~3.1.2","st":"~0.2.3","generic-session":"0.0.2","redsess":"~0.3.2","filed":"~0.1.0","hyperscript":"~1.3.2","process":"~0.5.1","body":"~2.0.1","pwd":"0.0.2","media-types":"~1.0.3","cookies":"~0.3.8","corsify":"~1.0.2","json-globals":"~0.2.1","multiparty":"~3.1.0","config-chain":"~1.1.8","string-template":"~0.1.3","basic":"~0.0.1","csrf-lite":"~0.1.0"},"devDependencies":{"redis":"~0.9.0","online":"0.0.1","level":"~0.18.0","level-sublevel":"~5.1.1","uuid":"~1.4.1","joi":"~2.0.3"},"licenses":[{"type":"MIT","url":"http://github.com/Raynos/http-framework/raw/master/LICENSE"}],"scripts":{"test":"echo 'no tests'"},"_id":"http-framework@1.2.0","dist":{"shasum":"ebc4d8bb164364b12e805376c787f7e005df97f1","tarball":"https://registry.npmjs.org/http-framework/-/http-framework-1.2.0.tgz","integrity":"sha512-Buu/KgClui/TJpQ/jOZ/UEQgKsKBf7vkXAbNjy/9tYKncYC/SdEv9nxT0EquBBSO3P/avRJn6Hq9pntLhtDTvA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlZXH8tNa4IEjKPQDXg5opja08fdYQ3sEnNqD/6OfSQAiA3fxqMkDnLws+HDtdTl+yeUCA79Llwi7DsnnYcE92F5w=="}]},"_from":".","_npmVersion":"1.3.22","_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}]}},"readme":"# http-framework\n\nA web framework based purely on `require('http')`\n\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\n**Table of Contents**  *generated with [DocToc](http://doctoc.herokuapp.com/)*\n\n- [http-framework](#http-framework)\n    - [Motivation](#motivation)\n    - [[Modules][20]](#modules20)\n        - [For a complete list of [Modules check out the wiki][20]](#for-a-complete-list-of-modules-check-out-the-wiki20)\n    - [[Documentation][26]](#documentation26)\n        - [[HTTP workshop][27]](#http-workshop27)\n        - [module docs](#module-docs)\n        - [rest of the modules](#rest-of-the-modules)\n    - [[Examples][17]](#examples17)\n        - [[`express`][18] inspired examples](#express18-inspired-examples)\n        - [[`hapi`][24] inspired examples](#hapi24-inspired-examples)\n        - [[`connect`][25] inspired examples](#connect25-inspired-examples)\n    - [Todo](#todo)\n    - [Installation](#installation)\n    - [Contributors](#contributors)\n    - [MIT Licenced](#mit-licenced)\n\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\n\n\n## Motivation\n\n`require('http')` is a web framework. All you need are a few\n  small modules that do one thing well when you are building your\n  web application route handlers.\n\nThis module aggregates and documents (with examples) a selection\n  of small modules that can be used to achieve this goal.\n\nIt's recommended you check out the:\n\n  - [the wiki of modules][23]\n  - [the documentation][22]\n  - [the examples][21]\n\nI do not recommend you use this \"framework\". You should check\n  out the small modules and use them directly. Use the list of\n  examples here for inspiration.\n\nhttp-framework is an OPEN Open Source Project, see the Contributing \n  section to find out what this means.\n\n## [Modules][20]\n\nCheck out the [modules folder](modules) for an example of small\n  modules you can combine to build your own custom \"framework\"\n\nSee the [`package.json`][19] dependencies hash for an example of\n  many small modules used in the examples folder of this project.\n\n### For a complete list of [Modules check out the wiki][20]\n\n## [Documentation][26]\n\n### [HTTP workshop][27]\n\nFor a tutorial / workshop see [http-works][27]\n\n### module docs\n\n - [config-chain](documents/config-chain.md)\n - [cookies](documents/cookies.md)\n - [corsify](documents/corsify.md)\n - [csrf-lite](documents/csrf-lite.md)\n - [filed](documents/filed.md)\n - [form-body](documents/form-body.md)\n - [send-json](documents/send-json.md)\n - [send-html](documents/send-html.md)\n\n### rest of the modules\n\n```js\n// TODO\n```\n\nFor now see the [examples folder][17]\n\n## [Examples][17]\n\n### [`express`][18] inspired examples\n\nThese examples are clones of [`express`][18] examples demonstrating\n  how to author web apps without frameworks.\n\n - [**auth**](examples/auth)\n    An example demonstrating how to login and authenticate users\n - [**auth-helpers**](examples/auth-helpers)\n    An example demonstrating how you can restrict certain routes in your\n    apps to only be accessed by certain types of users\n - [**content-negotiation**](examples/content-negotiation)\n    An example demonstrating how you can return different types of\n    content based on what the user asks for in his Accept header.\n - [**cookie-sessions**](examples/cookie-sessions)\n    An example of storing session information in a users cookie\n - [**cookies**](examples/cookies)\n    An example of setting a cookie to track a user\n - [**cors**](examples/cors)\n    An example of adding cors support to your HTTP server\n - [**downloads**](examples/downloads)\n    An example of allowing users to download files from your server\n - [**error**](examples/error)\n    An example of handling errors in your HTTP server\n - [**error-pages**](examples/error-pages)\n    An example of rendering custom 500 and 404 pages in your web\n    server\n - [**expose-data-to-client**](examples/expose-data-to-client)\n    An example of putting server side state into your template\n    so that it can be accessed from browser javascript\n - [**hello-world**](examples/hello-world)\n    A simple hello world example\n - [**multipart**](examples/multipart)\n    An example demonstrating file uploads and saving them to\n    disk temporarily.\n - [**mvc**](examples/mvc)\n    An over engineered example of how to structure a slightly\n    larger web application. Includes configuration, modularity\n    and databases. Take ideas from it, please do not copy paste it\n - [**online**](examples/online)\n    An example of using redis and the `online` module to track\n    user presence\n - [**route-map**](examples/route-map)\n    An example of a `map` utility function that can be used to\n    structure your routes differently. This demonstrates you can\n    do whatever you want, if you like it, do it.\n - [**route-seperation**](examples/route-seperation)\n    An example of spreading your route handlers over multiple\n    files. \n - [**search**](examples/search)\n    An example of doing a database query over XHR with a web\n    server backed by redis\n - [**session**](examples/session)\n    An example of storing information in a session. The session\n    is either backed by redis or memory.\n - [**static-files**](examples/static-files)\n    An example of serving static files for your web server\n - [**vhost**](examples/vhost)\n    An example of handling multiple sub domains as seperate\n    applications in a singlue web server\n - [**web-service**](examples/web-service)\n    An example JSON REST api web server. Contains API key \n    authentication and error handling\n\nCredit for the application's goes to\n\n - @visionmedia & express maintainers\n\n### [`hapi`][24] inspired examples\n\nThese examples are clones of [`hapi`][24] examples demonstrating\n  how to author web apps without frameworks.\n\n - [**tail**](examples/tail)\n    An example of handling async errors in your applications \n    after you have ended the HTTP response\n - [**validate-api**](examples/validate-api)\n    An example of how to add validation logic to your HTTP\n    route handlers. Both validating query params & the HTTP body\n\nCredit for the application's goes to\n\n - @spumko & hapi maintainers\n\n### [`connect`][25] inspired examples\n\nThese examples are clones of [`connect`][25] examples demonstrating\n  how to author web apps without frameworks.\n\n  - [**basic-auth**](examples/basic-auth)\n    An example of handling basic authorization style authentication\n    of a web server.\n  - [**csrf**](examples/csrf)\n    An example of adding csrf security to a form in a web application\n\nCredit for the applicatiosn` goes to\n    \n - @visionmedia & connect maintainers\n\n## Todo\n\n - [x] Finish porting express examples\n - [ ] continue porting hapi examples\n - [ ] continue connect examples\n - [ ] Port koajs examples\n - [ ] Port restify examples\n - [ ] Port partial.js examples\n - [ ] Finish documentation\n - [ ] Get community feedback\n - [ ] Author new fresh examples\n\n\n## Installation\n\n`npm install http-framework`\n\n## Contributors\n\n - Raynos\n - Matt-Esch\n - maxogden\n\n## MIT Licenced\n\n  [17]: https://github.com/Raynos/http-framework/tree/master/examples\n  [18]: https://github.com/visionmedia/express\n  [19]: https://github.com/Raynos/http-framework/blob/master/package.json#L19\n  [20]: https://github.com/Raynos/http-framework/wiki/Modules\n  [21]: https://github.com/Raynos/http-framework#examples\n  [22]: https://github.com/Raynos/http-framework#documentation\n  [23]: https://github.com/Raynos/http-framework#modules\n  [24]: https://github.com/spumko/hapi\n  [25]: https://github.com/senchalabs/connect\n  [26]: https://github.com/Raynos/http-framework/tree/master/documents\n  [27]: https://github.com/Raynos/http-works\n","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}],"time":{"modified":"2022-06-18T22:11:44.691Z","created":"2013-11-23T01:48:29.687Z","0.1.0":"2013-11-23T01:48:32.439Z","1.0.1":"2013-11-23T01:49:28.113Z","1.1.1":"2013-11-23T23:54:44.316Z","1.2.0":"2014-03-10T17:20:25.824Z"},"author":{"name":"Raynos","email":"raynos2@gmail.com"},"repository":{"type":"git","url":"git://github.com/Raynos/http-framework.git"},"users":{"maxogden":true,"parroit":true,"ianforrest":true,"timhudson":true,"axelav":true,"nex":true,"j.su":true,"akiva":true,"farskipper":true,"nichoth":true},"readmeFilename":"README.md","homepage":"https://github.com/Raynos/http-framework","keywords":[],"contributors":[{"name":"Raynos"},{"name":"Matt-Esch"},{"name":"maxogden"}],"bugs":{"url":"https://github.com/Raynos/http-framework/issues","email":"raynos2@gmail.com"}}