MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/chartapi.imenso.co/node_modules/webpack-dev-server/lib/utils/createDomain.js
'use strict';

const url = require('url');

function createDomain(options, server) {
  const protocol = options.https ? 'https' : 'http';
  // use location hostname and port by default in createSocketUrl
  // ipv6 detection is not required as 0.0.0.0 is just used as a placeholder
  let hostname;

  if (server) {
    hostname = server.address().address;
  } else {
    hostname = '0.0.0.0';
  }

  const port = server ? server.address().port : 0;

  // use explicitly defined public url
  // (prefix with protocol if not explicitly given)
  if (options.public) {
    return /^[a-zA-Z]+:\/\//.test(options.public)
      ? `${options.public}`
      : `${protocol}://${options.public}`;
  }

  // the formatted domain (url without path) of the webpack server
  return url.format({ protocol, hostname, port });
}

module.exports = createDomain;