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;
@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
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) {
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();