Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A nodejs web lib that adds some sugar to the routejs lib
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
lib
test
.gitignore
index.js
package.json
readme.md

readme.md

Apprentice

Hey Web Frameworks!

http://blog.riskmanagers.us/wp-content/uploads/2010/11/donaldtrumpyourefired.jpg

YOU'RE FIRED!

The Apprentice makes it simple to get started creating an html and/or json web application in no time, with as little sugar as possible.

Install

npm install apprentice

Dependencies

  • linchpin
npm install linchpin

Usage

var app = require('apprentice'),
  pin = require('linchpin');

pin.on('GET', function(req, res) { res.text('Come in to the Board Room'); });
pin.on('POST/lose', function(req, res) { res.text('You\'re fired!'); });
pin.on('PUT/win', function(req, res) { res.text('You\'re hired!'); });
pin.on('DELETE/110%', function(req, res) { res.text('Thats Great!'); });

app.httpServer.listen(3000);

Features

Response Macros

  • text (body, status=200)

res.text is a shortcut to send a plain text response body back to the caller.

pin.on('GET', function(req, res) {res.text 'hello world');});
  • json (body, status=200)

res.json is a shortcut to send a json document to the caller.

pin.on('GET', function(req, res) {res.json {foo: 'bar'});});
  • html (body, status=200)

res.html is a shortcut to send a html document to the caller.

pin.on('GET', function(req, res) {res.html "<h1>Hello World</h1>");});

FAQ

How do I manage static assets

You can use filed:

pin.on('GET/favicon.ico', function(req, res) { filed("#{__dirname}/../assets/favicon.ico").pipe(res); });
pin.on 'GET/assets/*/*', function(req, res) { filed("#{__dirname}/../#{req.url}").pipe(res); });
Something went wrong with that request. Please try again.