YUKI Hiroshi
null+****@clear*****
Fri Aug 29 16:02:15 JST 2014
YUKI Hiroshi 2014-08-29 16:02:15 +0900 (Fri, 29 Aug 2014) New Revision: f76912c91967156e1ba7fbc66ae78f1ee50b79a6 https://github.com/droonga/droonga-http-server/commit/f76912c91967156e1ba7fbc66ae78f1ee50b79a6 Message: Extract codes to define default configs Added files: lib/default-configs.js Modified files: bin/droonga-http-server Modified: bin/droonga-http-server (+17 -48) =================================================================== --- bin/droonga-http-server 2014-08-29 15:42:55 +0900 (164b86a) +++ bin/droonga-http-server 2014-08-29 16:02:15 +0900 (027f743) @@ -16,54 +16,23 @@ var cookieParser = require('cookie-parser'), winston = require('winston'); var version = require('../package.json').version; - -var baseDir = path.resolve(process.env.DROONGA_BASE_DIR || "."); -var configFile = path.resolve(baseDir, "droonga-http-server.yaml"); -var defaultConfigs = {}; -if (fs.existsSync(configFile)) { - defaultConfigs = yaml.safeLoad(fs.readFileSync(configFile, 'utf8')); - if (!('daemon' in defaultConfigs)) { - defaultConfigs.daemon = true; - defaultConfigs.pid_file = 'droonga-http-server.pid'; - } -} - -function defineDefaultConfig(path, value) { - var slot = defaultConfigs; - var keys = path.split('.'); - keys.some(function(key, index) { - if (index == keys.length - 1) { - if (key in slot) - value = slot[key]; - else - slot[key] = value; - } else { - if (!(key in slot)) - slot[key] = {}; - slot = slot[key]; - } - }); - return value; -} - -options.port = defineDefaultConfig('port', 10041); -options.accessLogFile = defineDefaultConfig('access_log_file', '-'); -options.systemLogFile = defineDefaultConfig('system_log_file', '-'); -options.cacheSize = defineDefaultConfig('cache_size', 100); -options.enableTrustProxy = defineDefaultConfig('enable_trust_proxy', false); -options.plugins = defineDefaultConfig('plugins', [ - droonga.API_REST, - droonga.API_GROONGA, - droonga.API_DROONGA -]); -options.environment = defineDefaultConfig('environment', process.env.NODE_ENV || 'development'); - -options.droongaEngineHostName = defineDefaultConfig('engine.host','127.0.0.1'); -options.droongaEnginePort = defineDefaultConfig('engine.port', 10031); -options.tag = defineDefaultConfig('engine.tag', 'droonga'); -options.defaultDataset = defineDefaultConfig('engine.default_dataset', 'Default'); -options.receiverHostName = defineDefaultConfig('engine.receiver_host', '127.0.0.1'); -options.environment = defineDefaultConfig('environment', 'development'); +var defaultConfigs = require('../lib/default-configs'); + +var baseDir = defaultConfigs.baseDir; + +options.port = defaultConfigs.port; +options.accessLogFile = defaultConfigs.access_log_file; +options.systemLogFile = defaultConfigs.system_log_file; +options.cacheSize = defaultConfigs.cache_size; +options.enableTrustProxy = defaultConfigs.enable_trust_proxy; +options.plugins = defaultConfigs.plugins; +options.environment = defaultConfigs.environment; + +options.droongaEngineHostName = defaultConfigs.engine.host; +options.droongaEnginePort = defaultConfigs.engine.port; +options.tag = defaultConfigs.engine.tag; +options.defaultDataset = defaultConfigs.engine.default_dataset; +options.receiverHostName = defaultConfigs.engine.receiver_host; intOption = function(newValue, oldValue) { return parseInt(newValue); Added: lib/default-configs.js (+54 -0) 100644 =================================================================== --- /dev/null +++ lib/default-configs.js 2014-08-29 16:02:15 +0900 (9226b4c) @@ -0,0 +1,54 @@ +var droonga = require('express-droonga'), + fs = require('fs'), + yaml = require('js-yaml'), + path = require('path'); + +var configs = {}; + +var baseDir = path.resolve(process.env.DROONGA_BASE_DIR || "."); + +var configFile = path.resolve(baseDir, "droonga-http-server.yaml"); +if (fs.existsSync(configFile)) { + configs = yaml.safeLoad(fs.readFileSync(configFile, 'utf8')); + if (!('daemon' in configs)) { + configs.daemon = true; + configs.pid_file = 'droonga-http-server.pid'; + } +} + +function define(path, value) { + var slot = configs; + var keys = path.split('.'); + keys.some(function(key, index) { + if (index == keys.length - 1) { + if (!(key in slot)) + slot[key] = value; + } else { + if (!(key in slot)) + slot[key] = {}; + slot = slot[key]; + } + }); +} + +define('port', 10041); +define('access_log_file', '-'); +define('system_log_file', '-'); +define('cache_size', 100); +define('enable_trust_proxy', false); +define('plugins', [ + droonga.API_REST, + droonga.API_GROONGA, + droonga.API_DROONGA +]); +define('environment', process.env.NODE_ENV || 'development'); + +define('engine.host', '127.0.0.1'); +define('engine.port', 10031); +define('engine.tag', 'droonga'); +define('engine.default_dataset', 'Default'); +define('engine.receiver_host', '127.0.0.1'); + +configs.baseDir = baseDir; + +module.exports = configs; -------------- next part -------------- HTML����������������������������... 下載