@balderdash/sails-edge
Version:
API-driven framework for building realtime apps, using MVC conventions (based on Express and Socket.io)
33 lines (23 loc) • 821 B
JavaScript
/**
* Module dependencies
*/
var _ = require ('lodash');
/**
* Calculate the base URL (useful in emails, etc.)
* @return {String} [description]
*/
module.exports = function getBaseurl() {
var sails = this;
var usingSSL = sails.config.ssl && sails.config.ssl.key && sails.config.ssl.cert;
var host = sails.getHost() || 'localhost';
var port = sails.config.proxyPort || sails.config.port;
var probablyUsingSSL = (port === 443);
// If host doesn't contain `http*` already, include the protocol string.
var protocolString = '';
if (!_.contains(host,'http')) {
protocolString = ((usingSSL || probablyUsingSSL) ? 'https' : 'http') + '://';
}
var portString = (port === 80 || port === 443 ? '' : ':' + port);
var localAppURL = protocolString + host + portString;
return localAppURL;
};