X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cadi%2Fclient%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Fhttp%2FHClient.java;fp=cadi%2Fclient%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fcadi%2Fhttp%2FHClient.java;h=daca47df5e42635c173dc771842d64bd7cd6d9e5;hb=12414fe43077e12d7ef711951b1633ad31d73573;hp=d885283490171e7630b6ab36aa98820eaf43fc6b;hpb=a5bcce655e339151445fbce2c129687e3bc8610a;p=aaf%2Fauthz.git diff --git a/cadi/client/src/main/java/org/onap/aaf/cadi/http/HClient.java b/cadi/client/src/main/java/org/onap/aaf/cadi/http/HClient.java index d8852834..daca47df 100644 --- a/cadi/client/src/main/java/org/onap/aaf/cadi/http/HClient.java +++ b/cadi/client/src/main/java/org/onap/aaf/cadi/http/HClient.java @@ -40,6 +40,7 @@ import org.onap.aaf.cadi.SecuritySetter; import org.onap.aaf.cadi.client.EClient; import org.onap.aaf.cadi.client.Future; import org.onap.aaf.cadi.client.Rcli; +import org.onap.aaf.cadi.util.FixURIinfo; import org.onap.aaf.misc.env.APIException; import org.onap.aaf.misc.env.Data; import org.onap.aaf.misc.env.Data.TYPE; @@ -109,24 +110,23 @@ public class HClient implements EClient { @Override public void send() throws APIException { - try { - // Build URL from given URI plus current Settings - if (uri.getPath()==null) { - throw new APIException("Invalid URL entered for HClient"); - } - StringBuilder pi=null; - if (pathinfo!=null) { // additional pathinfo - pi = new StringBuilder(uri.getPath()); - if (!pathinfo.startsWith("/")) { - pi.append('/'); - } - pi.append(pathinfo); + // Build URL from given URI plus current Settings + if (uri.getPath()==null) { + throw new APIException("Invalid URL entered for HClient"); + } + StringBuilder pi=null; + if (pathinfo!=null) { // additional pathinfo + pi = new StringBuilder(uri.getPath()); + if (!pathinfo.startsWith("/")) { + pi.append('/'); } - URI sendURI = new URI( + pi.append(pathinfo); + } + URI sendURI = null; + try { + sendURI = new URI( uri.getScheme(), - uri.getUserInfo(), - uri.getHost(), - uri.getPort(), + uri.getAuthority(), pi==null?uri.getPath():pi.toString(), query==null?uri.getQuery():query, fragment==null?uri.getFragment():fragment @@ -149,8 +149,14 @@ public class HClient implements EClient { transfer.transfer(huc.getOutputStream()); } // TODO other settings? There's a bunch here. + } catch (APIException e) { + throw e; } catch (Exception e) { - throw new APIException(e); + if(sendURI==null) { + throw new APIException("Cannot connect to Root URI: " + uri.toString(),e); + } else { + throw new APIException("Cannot connect to " + sendURI.toString() + "(Root URI: " + uri.toString() +')',e); + } } finally { // ensure all these are reset after sends meth=pathinfo=null; if (headers!=null) { @@ -171,9 +177,7 @@ public class HClient implements EClient { protected HttpURLConnection getConnection(URI uri, StringBuilder pi) throws IOException, URISyntaxException { URL url = new URI( uri.getScheme(), - uri.getUserInfo(), - uri.getHost(), - uri.getPort(), + uri.getAuthority(), pi==null?uri.getPath():pi.toString(), query, fragment).toURL();