normalize-host.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * Module dependencies
  3. */
  4. var util = require('util');
  5. var assert = require('assert');
  6. var _ = require('@sailshq/lodash');
  7. var flaverr = require('flaverr');
  8. /**
  9. * normalizeHost()
  10. *
  11. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  12. * @param {Ref} host
  13. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  14. * @returns {String}
  15. * The normalized value.
  16. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  17. * @throws {E_BAD_CONFIG} If cannot be normalized.
  18. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  19. */
  20. module.exports = function normalizeHost (host) {
  21. assert(!_.isUndefined(host), 'Should be defined');
  22. if (_.isNumber(host)) {
  23. host = ''+host;
  24. }//>-
  25. if (!_.isString(host) || host === '') {
  26. throw flaverr('E_BAD_CONFIG', new Error('Invalid host (`'+util.inspect(host)+'`). Must be a non-empty string.'));
  27. }
  28. return host;
  29. };