docs: function parseUrl(url) {
          if (Core.isBlank(url)) {
              return null;
          }
          var matches = url.match(httpRegex);
          if (matches === null) {
              return null;
          }
          //log.debug("matches: ", matches);
          var scheme = matches[1];
          var host = matches[3];
          var port = matches[4];
          var parts = null;
          if (!Core.isBlank(port)) {
              parts = url.split(port);
          }
          else {
              parts = url.split(host);
          }
          // make sure we use port as a number
          var portNum = Core.parseIntValue(port);
          var path = parts[1];
          if (path && _.startsWith(path, '/')) {
              path = path.slice(1, path.length);
          }
          //log.debug("parts: ", parts);
          return {
              scheme: scheme,
              host: host,
              port: portNum,
              path: path
          };
      }