Показать сообщение отдельно
  #53 (permalink)  
Старый 13.10.2011, 00:22
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Так:
module.exports = function(request, response) {
	var serviceName = request.url.match(/^\/([^/]+)/);
	if (serviceName) { // URL состоит из: domain.ru/serviceName/serviceData[/./././]
		serviceName = serviceName[1];
		if (serviceName != 'index' && SERVICES.hasOwnProperty(serviceName)) {
			SERVICES[serviceName](request, response);
		} else { // Если запрос приходит на неизвестный сервис, вызываем код сервера ошибок
			request.headers.error = 404;
			LIB.server.error(request, response);
		}
	} else { // Если имя сервиса отсутствует, вызывается сервис index (главная)
		SERVICES['index'](request, response);
	}
};

module.exports.port = 8001;

// Инициализация сервисов. Так же оформенны в виде модулей.
LIB.fileSystem.readdir(CONFIG.path.services, function(err, files) {
	var length = files.length;
	while (length--) {
		var serviceData = files[length].match(/^([^\.]+).js$/);
		if (serviceData) {
			SERVICES[serviceData[1]] = require(CONFIG.path.services + '/' + serviceData[0]);
		}
	}
});

Этого вполне достаточно.
А о каких проблемах роутинга речь?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 13.10.2011 в 01:19.
Ответить с цитированием