forked from coolaj86/goldilocks.js
make -d, pubdir, and public all defaultWebRoot
This commit is contained in:
parent
fa02f05b9a
commit
f0bea933f9
|
@ -27,7 +27,7 @@ function showError(err, port) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createInsecureServer(port, pubdir, opts) {
|
function createInsecureServer(port, _delete_me_, opts) {
|
||||||
return new PromiseA(function (realResolve) {
|
return new PromiseA(function (realResolve) {
|
||||||
var server = http.createServer();
|
var server = http.createServer();
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ function createInsecureServer(port, pubdir, opts) {
|
||||||
|
|
||||||
opts.errorInsecurePort = err.toString();
|
opts.errorInsecurePort = err.toString();
|
||||||
|
|
||||||
return createInsecureServer(insecurePortFallback, pubdir, opts).then(resolve);
|
return createInsecureServer(insecurePortFallback, null, opts).then(resolve);
|
||||||
});
|
});
|
||||||
|
|
||||||
server.on('request', opts.redirectApp);
|
server.on('request', opts.redirectApp);
|
||||||
|
@ -56,7 +56,7 @@ function createInsecureServer(port, pubdir, opts) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function createServer(port, pubdir, content, opts) {
|
function createServer(port, _delete_me_, content, opts) {
|
||||||
function approveDomains(params, certs, cb) {
|
function approveDomains(params, certs, cb) {
|
||||||
// This is where you check your database and associated
|
// This is where you check your database and associated
|
||||||
// email addresses with domains and agreements and such
|
// email addresses with domains and agreements and such
|
||||||
|
@ -94,7 +94,7 @@ function createServer(port, pubdir, content, opts) {
|
||||||
return new PromiseA(function (realResolve) {
|
return new PromiseA(function (realResolve) {
|
||||||
var app = require('../lib/app.js');
|
var app = require('../lib/app.js');
|
||||||
|
|
||||||
var directive = { public: pubdir, content: content, livereload: opts.livereload
|
var directive = { content: content, livereload: opts.livereload
|
||||||
, sites: opts.sites
|
, sites: opts.sites
|
||||||
, expressApp: opts.expressApp };
|
, expressApp: opts.expressApp };
|
||||||
var insecureServer;
|
var insecureServer;
|
||||||
|
@ -167,7 +167,7 @@ function createServer(port, pubdir, content, opts) {
|
||||||
|
|
||||||
opts.errorPort = err.toString();
|
opts.errorPort = err.toString();
|
||||||
|
|
||||||
return createServer(portFallback, pubdir, content, opts).then(resolve);
|
return createServer(portFallback, null, content, opts).then(resolve);
|
||||||
});
|
});
|
||||||
|
|
||||||
server.listen(port, function () {
|
server.listen(port, function () {
|
||||||
|
@ -183,9 +183,10 @@ function createServer(port, pubdir, content, opts) {
|
||||||
, exclusions: [ 'node_modules' ]
|
, exclusions: [ 'node_modules' ]
|
||||||
});
|
});
|
||||||
|
|
||||||
console.info("[livereload] watching " + pubdir);
|
console.info("[livereload] watching " + opts.pubdir);
|
||||||
console.warn("WARNING: If CPU usage spikes to 100% it's because too many files are being watched");
|
console.warn("WARNING: If CPU usage spikes to 100% it's because too many files are being watched");
|
||||||
server2.watch(pubdir);
|
// TODO create map of directories to watch from opts.sites and iterate over it
|
||||||
|
server2.watch(opts.pubdir);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we haven't disabled insecure port
|
// if we haven't disabled insecure port
|
||||||
|
@ -195,7 +196,7 @@ function createServer(port, pubdir, content, opts) {
|
||||||
// or other case
|
// or other case
|
||||||
|| (httpPort !== opts.insecurePort && opts.port !== opts.insecurePort)
|
|| (httpPort !== opts.insecurePort && opts.port !== opts.insecurePort)
|
||||||
) {
|
) {
|
||||||
return createInsecureServer(opts.insecurePort, pubdir, opts).then(function (_server) {
|
return createInsecureServer(opts.insecurePort, null, opts).then(function (_server) {
|
||||||
insecureServer = _server;
|
insecureServer = _server;
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
|
@ -242,7 +243,7 @@ function run() {
|
||||||
var argv = minimist(process.argv.slice(2));
|
var argv = minimist(process.argv.slice(2));
|
||||||
var port = parseInt(argv.p || argv.port || argv._[0], 10) || httpsPort;
|
var port = parseInt(argv.p || argv.port || argv._[0], 10) || httpsPort;
|
||||||
var livereload = argv.livereload;
|
var livereload = argv.livereload;
|
||||||
var pubdir = path.resolve(argv.d || argv._[1] || process.cwd());
|
var defaultWebRoot = path.resolve(argv.d || argv._[1] || process.cwd());
|
||||||
var content = argv.c;
|
var content = argv.c;
|
||||||
var letsencryptHost = argv['letsencrypt-certs'];
|
var letsencryptHost = argv['letsencrypt-certs'];
|
||||||
|
|
||||||
|
@ -351,13 +352,15 @@ function run() {
|
||||||
// TODO allow reverse proxy
|
// TODO allow reverse proxy
|
||||||
return {
|
return {
|
||||||
name: nameparts.shift()
|
name: nameparts.shift()
|
||||||
, paths: nameparts
|
// there should always be a path
|
||||||
|
, paths: nameparts.length && nameparts || [ defaultWebRoot ]
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log('opts.sites', opts.sites);
|
console.log('opts.sites', opts.sites);
|
||||||
// TODO use arrays in all things
|
// TODO use arrays in all things
|
||||||
opts._old_server_name = opts.sites[0].name;
|
opts._old_server_name = opts.sites[0].name;
|
||||||
|
opts.pubdir = defaultWebRoot;
|
||||||
|
|
||||||
if (argv.p || argv.port || argv._[0]) {
|
if (argv.p || argv.port || argv._[0]) {
|
||||||
opts.manualPort = true;
|
opts.manualPort = true;
|
||||||
|
@ -410,14 +413,15 @@ function run() {
|
||||||
};
|
};
|
||||||
opts.redirectApp = require('redirect-https')(opts.redirectOptions);
|
opts.redirectApp = require('redirect-https')(opts.redirectOptions);
|
||||||
|
|
||||||
return createServer(port, pubdir, content, opts).then(function (servers) {
|
return createServer(port, null, content, opts).then(function (servers) {
|
||||||
var p;
|
var p;
|
||||||
var httpsUrl;
|
var httpsUrl;
|
||||||
var httpUrl;
|
var httpUrl;
|
||||||
var promise;
|
var promise;
|
||||||
|
|
||||||
|
// TODO show all sites
|
||||||
console.info('');
|
console.info('');
|
||||||
console.info('Serving ' + pubdir + ' at ');
|
console.info('Serving ' + opts.pubdir + ' at ');
|
||||||
console.info('');
|
console.info('');
|
||||||
|
|
||||||
// Port
|
// Port
|
||||||
|
|
|
@ -16,14 +16,13 @@ module.exports = function (opts) {
|
||||||
return hostsMap[hostname];
|
return hostsMap[hostname];
|
||||||
}
|
}
|
||||||
|
|
||||||
var tmp = { };
|
|
||||||
|
|
||||||
opts.sites.forEach(function (site) {
|
opts.sites.forEach(function (site) {
|
||||||
if (hostname !== site.name) {
|
if (hostname !== site.name) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
site.path = site.path || site.paths[0] || '.';
|
// path should exist before it gets to this point
|
||||||
|
site.path = site.path || site.paths[0];
|
||||||
|
|
||||||
if (!pathsMap[site.path]) {
|
if (!pathsMap[site.path]) {
|
||||||
pathsMap[site.path] = {
|
pathsMap[site.path] = {
|
||||||
|
|
Loading…
Reference in New Issue