uri = action.uri();
file = action.file();
if (uri == null) {
throw new ProxyException("Invalid URI");
}
switch (requestMethod) {
case POST:
if (file != null) {
query = uri.toASCIIString();
} else {
query = uri.getScheme() + "://" + uri.getHost() + uri.getPath();
}
if (getProtocol().equals("http")) {
pHC = new ProxyHttpConnection((HttpURLConnection) new URL(query).openConnection(), file, uri.getQuery()).initPOST();
response = pHC.outputResult();
responseHead = pHC.getHeadItem();
} else {
pHC = new ProxyHttpConnection((HttpsURLConnection) new URL(query).openConnection(), file, uri.getQuery()).initPOST();
response = pHC.outputResult();
responseHead = pHC.getHeadItem();
}
break;
case GET:
query = uri.toASCIIString();
if (getProtocol().equals("http")) {
pHC = new ProxyHttpConnection((HttpURLConnection) new URL(query).openConnection(), null, null).initGET();
response = pHC.outputResult();
responseHead = pHC.getHeadItem();
} else {
pHC = new ProxyHttpConnection((HttpsURLConnection) new URL(query).openConnection(), null, null).initGET();
response = pHC.outputResult();
responseHead = pHC.getHeadItem();
}
break;
}
return response.toString();
} catch (Exception ex) {
Logger.getLogger(ProxyHttp.class.getName()).log(Level.SEVERE, null, ex);
throw new ProxyException(ex.getMessage());
} finally {
if (pHC != null) {
pHC.disconnect();
}