diff --git a/lib/cloudcmd.js b/lib/cloudcmd.js index 500eb771..d0ea7eb5 100644 --- a/lib/cloudcmd.js +++ b/lib/cloudcmd.js @@ -13,6 +13,7 @@ route = require(DIR_SERVER + 'route'), validate = require(DIR_SERVER + 'validate'), createPass = require(DIR_SERVER + 'password'), + prefixer = require(DIR_SERVER + 'prefixer'), join = require('join-io'), ponse = require('ponse'), @@ -69,14 +70,7 @@ value = createPass(config('algo'), value); break; case 'prefix': - if (typeof value === 'string') { - if (value && !~value.indexOf('/')) - value = '/' + value; - else if (value.length === 1) - value = ''; - } - - prefix = value; + prefix = prefixer(value); break; } diff --git a/lib/server.js b/lib/server.js index 76e8ecd0..b5f0992b 100644 --- a/lib/server.js +++ b/lib/server.js @@ -10,6 +10,7 @@ cloudcmd = require(DIR_LIB + 'cloudcmd'), exit = require(DIR_SERVER + 'exit'), config = require(DIR_SERVER + 'config'), + prefixer = require(DIR_SERVER + 'prefixer'), express = require('express'), tryRequire = require('tryrequire'), logger = tryRequire('morgan'), @@ -40,7 +41,7 @@ app.use(cloudcmd({ config: options, socket: io(server, { - path: path.join('/', config('prefix'), 'socket.io') + path: prefixer(config('prefix')) + '/socket.io' }) })); diff --git a/lib/server/prefixer.js b/lib/server/prefixer.js new file mode 100644 index 00000000..82858d69 --- /dev/null +++ b/lib/server/prefixer.js @@ -0,0 +1,13 @@ +(function() { + 'use strict'; + + module.exports = function(value) { + if (typeof value === 'string') + if (value && !~value.indexOf('/')) + value = '/' + value; + else if (value.length === 1) + value = ''; + + return value; + } +})();