alpha-one
Version:
ideas about recurring tasks in Web- and Backend-Application building
147 lines (99 loc) • 3.71 kB
JavaScript
// 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);