mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-20 01:47:35 +00:00
feature(server) port: 0 means any available
This commit is contained in:
parent
dbf0b6bb05
commit
02a061ff11
2 changed files with 20 additions and 8 deletions
|
|
@ -11,6 +11,7 @@
|
|||
config = require(DIR_SERVER + 'config'),
|
||||
prefixer = require(DIR_SERVER + 'prefixer'),
|
||||
express = require('express'),
|
||||
freeport = require('freeport'),
|
||||
tryRequire = require('tryrequire'),
|
||||
logger = tryRequire('morgan'),
|
||||
io = require('socket.io');
|
||||
|
|
@ -21,6 +22,7 @@
|
|||
*/
|
||||
module.exports = function(options) {
|
||||
var server,
|
||||
getPort, onError,
|
||||
|
||||
port = process.env.PORT || /* c9 */
|
||||
process.env.VCAP_APP_PORT || /* cloudfoundry */
|
||||
|
|
@ -44,15 +46,25 @@
|
|||
})
|
||||
}));
|
||||
|
||||
if (port < 1 || port > 65535)
|
||||
exit('cloudcmd --port: %s', 'port number could be 1..65535');
|
||||
if (port < 0 || port > 65535)
|
||||
exit('cloudcmd --port: %s', 'port number could be 1..65535, 0 means any available port');
|
||||
|
||||
server.on('error', function(error) {
|
||||
getPort = function(fn) {
|
||||
port ? fn(null, port) : freeport(fn);
|
||||
};
|
||||
|
||||
onError = function(error) {
|
||||
exit('cloudcmd --port: %s', error.message);
|
||||
};
|
||||
|
||||
getPort(function(error, port) {
|
||||
if (error)
|
||||
return onError(error);
|
||||
|
||||
server.listen(port, ip);
|
||||
server.on('error', onError);
|
||||
|
||||
console.log('url: http://%s:%d', config('ip') || 'localhost', port);
|
||||
});
|
||||
|
||||
server.listen(port, ip);
|
||||
|
||||
console.log('url: http://%s:%d', config('ip') || 'localhost', port);
|
||||
};
|
||||
})();
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@
|
|||
"docker": "npm-run-all docker:pull:node docker:build docker:push",
|
||||
"docker:alpine": "npm-run-all docker:pull:alpine docker:build:alpine docker:tag:alpine docker:push:alpine docker:push:alpine:latest",
|
||||
"docker:tag:alpine": "docker tag coderaiser/cloudcmd:`version`-alpine coderaiser/cloudcmd:latest-alpine",
|
||||
"docker:pull:alpine": "docker pull mhart/alpine-node",
|
||||
"docker:rm": "docker rmi coderaiser/cloudcmd:`version` || true",
|
||||
"docker:rm:alpine": "docker rmi coderaiser/cloudcmd:`version`-alpine || true",
|
||||
"coverage": "nyc npm test",
|
||||
|
|
@ -74,6 +73,7 @@
|
|||
"files-io": "~1.2.0",
|
||||
"flop": "~1.4.0",
|
||||
"format-io": "~0.9.6",
|
||||
"freeport": "~1.0.5",
|
||||
"http-auth": "~2.2.3",
|
||||
"ishtar": "~1.3.0",
|
||||
"jaguar": "~1.1.0",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue