36 lines
1005 B
JavaScript
36 lines
1005 B
JavaScript
// @ts-check
|
|
|
|
const https = require("https");
|
|
const http = require("http");
|
|
|
|
/**
|
|
* @typedef {object} GrabHostNamesReturn
|
|
* @property {string} host
|
|
* @property {number | string} port
|
|
* @property {typeof http | typeof https} scheme
|
|
*/
|
|
|
|
/**
|
|
* # Grab Names For Query
|
|
* @returns {GrabHostNamesReturn}
|
|
*/
|
|
function grabHostNames() {
|
|
const scheme = process.env.DSQL_HTTP_SCHEME;
|
|
const localHost = process.env.DSQL_LOCAL_HOST;
|
|
const localHostPort = process.env.DSQL_LOCAL_HOST_PORT;
|
|
const remoteHost = process.env.DSQL_API_REMOTE_HOST?.match(/.*\..*/)
|
|
? process.env.DSQL_API_REMOTE_HOST
|
|
: undefined;
|
|
const remoteHostPort = process.env.DSQL_API_REMOTE_HOST_PORT?.match(/./)
|
|
? process.env.DSQL_API_REMOTE_HOST_PORT
|
|
: undefined;
|
|
|
|
return {
|
|
host: remoteHost || localHost || "datasquirel.com",
|
|
port: remoteHostPort || localHostPort || 443,
|
|
scheme: scheme?.match(/^http$/i) ? http : https,
|
|
};
|
|
}
|
|
|
|
module.exports = grabHostNames;
|