src/routes.js
function setup_member(context, k) {
	var handler;
	var routes = context.routes;
	var opts = context.opts;
	var middleware = context.middleware;
	var app = context.app;
	var target = context.target;
	var loop_counter = context.loop_counter;
	var v = routes[k];
	var v_is_function = is.func(v) ? true : false;

	// Special methods
	if(_special_methods.indexOf(k) >= 0) {
		handler = v_is_function ? v : FUNCTION(do_send).curry(opts, v);
		if(middleware.length === 0) {
			app[_express_methods[k]](target, build_request(opts, handler) );
		} else if(k === 'USE') {
			//debug.log('target = ', target);
			//debug.log('k = ', k);
			//debug.log('_express_methods[', k,'] = ', _express_methods[k]);

			app[_express_methods[k]](target, join_plugins( [fix_for_missing_req_route(target, 'use')].concat(middleware).concat([build_request(opts, handler)]) ) );
		} else {
			app[_express_methods[k]](target, fix_for_missing_req_route(target, (''+k).toLowerCase() ), middleware, build_request(opts, handler));
		}
		return;
	}

	// Functions
	if(process.env.DEBUG_NOR_EXPRESS) {
		debug.log( /*(req.id ? '['+req.id+'] ' : '') + */ 'target = ', target);
		debug.log( /*(req.id ? '['+req.id+'] ' : '') + */ 'k = ', k);
	}

	var new_target = (target==='/') ? ('/' + k) : (target + '/' + k);
	var new_route = ROUTES.parse(v);
	ROUTES.setup(app, new_route, new_target, merge(opts, {'loop_counter': loop_counter+1}));
}
function setup_member(context, k) {
	var handler;
	var routes = context.routes;
	var opts = context.opts;
	var middleware = context.middleware;
	var app = context.app;
	var target = context.target;
	var loop_counter = context.loop_counter;
	var v = routes[k];
	var v_is_function = is.func(v) ? true : false;

	// Special methods
	if(_special_methods.indexOf(k) >= 0) {
		handler = v_is_function ? v : FUNCTION(do_send).curry(opts, v);
		if(middleware.length === 0) {
			app[_express_methods[k]](target, build_request(opts, handler) );
		} else if(k === 'USE') {
			//debug.log('target = ', target);
			//debug.log('k = ', k);
			//debug.log('_express_methods[', k,'] = ', _express_methods[k]);

			app[_express_methods[k]](target, join_plugins( [fix_for_missing_req_route(target, 'use')].concat(middleware).concat([build_request(opts, handler)]) ) );
		} else {
			app[_express_methods[k]](target, fix_for_missing_req_route(target, (''+k).toLowerCase() ), middleware, build_request(opts, handler));
		}
		return;
	}

	// Functions
	if(process.env.DEBUG_NOR_EXPRESS) {
		debug.log( /*(req.id ? '['+req.id+'] ' : '') + */ 'target = ', target);
		debug.log( /*(req.id ? '['+req.id+'] ' : '') + */ 'k = ', k);
	}

	var new_target = (target==='/') ? ('/' + k) : (target + '/' + k);
	var new_route = ROUTES.parse(v);
	ROUTES.setup(app, new_route, new_target, merge(opts, {'loop_counter': loop_counter+1}));
}
Setup member handlers