UNPKG

alpha-one

Version:

ideas about recurring tasks in Web- and Backend-Application building

147 lines (99 loc) 3.71 kB
// Generated by CoffeeScript 1.7.1 (function() { var TRM, TYPES, alert, app, authom, badge, connect, connect_options, debug, echo, help, info, log, login, njs_path, request_count, request_counter_middleware, respond, rpr, server_options, service_credential_records, service_credentials, teacup, templates, test_middleware, warn, whisper, write_ok_html_header, _i, _len; njs_path = require('path'); TYPES = require('coffeenode-types'); TRM = require('coffeenode-trm'); rpr = TRM.rpr.bind(TRM); badge = 'using-connect'; log = TRM.get_logger('plain', badge); info = TRM.get_logger('info', badge); whisper = TRM.get_logger('whisper', badge); alert = TRM.get_logger('alert', badge); debug = TRM.get_logger('debug', badge); warn = TRM.get_logger('warn', badge); help = TRM.get_logger('help', badge); echo = TRM.echo.bind(TRM); /* https://github.com/goodeggs/teacup */ teacup = require('teacup'); templates = require('./templates'); connect = require('connect'); authom = require('authom'); TRM.dir(authom); write_ok_html_header = function(request, response) { var headers, status_code; status_code = 200; headers = { 'Content-Type': 'text/html', 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked' }; return response.writeHead(status_code, headers); }; respond = function(request, response, next) { write_ok_html_header(request, response); response.write("<link rel='shortcut icon' href='/public/favicon.ico?v=" + (1 * new Date()) + "'>"); response.write("<div>RQ#" + request_count + "</div>"); return response.end("<div>hello world</div>"); }; request_counter_middleware = function(request, response, next) { request['count'] = (request_count += 1); return next(); }; request_count = 0; login = function(user, password, handler) { debug("authenticating " + user + ":" + password); return handler(null, true); }; server_options = { 'host': '127.0.0.1', 'port': 3000 }; connect_options = { 'logger': { 'format': 'short', 'format': 'tiny', 'format': 'default', 'format': 'mingkwai', 'format': 'dev' } }; connect.logger.format('mingkwai', ':method :url :status :res[content-length] - :response-time ms'); app = connect(); app.use(request_counter_middleware); app.use(connect.logger(connect_options['logger']['format'])); /* https://github.com/wdavidw/node-connect-coffee-script */ /* http://learnboost.github.io/stylus/docs/middleware.html */ service_credential_records = [ { service: "github", id: "7e38d12b740a339b2d31", secret: "116e41bd4cd160b7fae2fe8cc79c136a884928c3" } ]; for (_i = 0, _len = service_credential_records.length; _i < _len; _i++) { service_credentials = service_credential_records[_i]; authom.createServer(service_credentials); } authom.on('auth', function(request, response, data) { return debug('auth', data); }); authom.on('error', function(request, response, data) { return debug('error', data); }); app.use('/auth/:service', authom.app); test_middleware = function() { debug("setting up test_middleware"); return function(request, response, next) { debug('test'); write_ok_html_header(request, response); response.write('just a test'); return response.end(); }; }; app.use('/test', test_middleware()); app.use('/public', connect["static"](njs_path.join(__dirname, 'public'))); app.use(respond); app.listen(server_options['port']); log(TRM.green("listening to " + server_options['host'] + ":" + server_options['port'])); }).call(this);