diff --git a/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java b/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java index f6fe91544..680e37975 100644 --- a/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java +++ b/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/BOSHConfiguration.java @@ -77,7 +77,8 @@ public final class BOSHConfiguration extends ConnectionConfiguration { } public URI getURI() throws URISyntaxException { - return new URI((https ? "https://" : "http://") + this.host + ":" + this.port + file); + String uri = https ? "https://" : "http://" + getHostString() + ":" + this.port + file; + return new URI(uri); } public Map getHttpHeaders() { diff --git a/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java b/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java index e8689d24f..9561a158d 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java @@ -302,6 +302,16 @@ public abstract class ConnectionConfiguration { return new SmackTlsContext(context, daneVerifier); } + public String getHostString() { + if (hostAddress != null) { + return hostAddress.toString(); + } + if (host != null) { + return host.toString(); + } + return xmppServiceDomain.toString(); + } + public DnsName getHost() { return host; }