38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
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
|
|
* @property {string | number} user_id
|
|
*/
|
|
|
|
/**
|
|
* # 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,
|
|
user_id: String(process.env.DSQL_API_USER_ID || 0),
|
|
};
|
|
}
|
|
|
|
module.exports = grabHostNames;
|