Added a method to retrieve a Rest Response with a provided HTTP URL Connection.
This commit is contained in:
parent
ed415f692f
commit
6825477d75
|
@ -72,17 +72,32 @@ public class RestClient {
|
||||||
logger.log(logLevel, "Opening connection to " + webServiceUrl);
|
logger.log(logLevel, "Opening connection to " + webServiceUrl);
|
||||||
}
|
}
|
||||||
conn = (HttpURLConnection) webServiceUrl.openConnection();
|
conn = (HttpURLConnection) webServiceUrl.openConnection();
|
||||||
|
return getResponse(callSpec, request, gson, conn);
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new WebServiceSystemException(e);
|
||||||
|
} finally {
|
||||||
|
closeIgnoringErrors(conn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Use this method if you want to mange the HTTP Connection yourself. This is useful when you
|
||||||
|
* want to use HTTP pipelining.
|
||||||
|
*/
|
||||||
|
public <R> RestResponse<R> getResponse(
|
||||||
|
RestCallSpec<R> callSpec, RestRequest<R> request, Gson gson, HttpURLConnection conn) {
|
||||||
|
try {
|
||||||
|
if (logger != null) {
|
||||||
|
URL webServiceUrl = getWebServiceUrl(callSpec);
|
||||||
|
logger.log(logLevel, "Opening connection to " + webServiceUrl);
|
||||||
|
}
|
||||||
RestRequestSender requestSender = new RestRequestSender(gson, logLevel);
|
RestRequestSender requestSender = new RestRequestSender(gson, logLevel);
|
||||||
requestSender.send(conn, request);
|
requestSender.send(conn, request);
|
||||||
RestResponseReceiver<R> responseReceiver =
|
RestResponseReceiver<R> responseReceiver =
|
||||||
new RestResponseReceiver<R>(gson, callSpec.getResponseSpec(), logLevel);
|
new RestResponseReceiver<R>(gson, callSpec.getResponseSpec(), logLevel);
|
||||||
return responseReceiver.receive(conn);
|
return responseReceiver.receive(conn);
|
||||||
} catch (IOException e) {
|
|
||||||
throw new WebServiceSystemException(e);
|
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
throw new WebServiceSystemException(e);
|
throw new WebServiceSystemException(e);
|
||||||
} finally {
|
|
||||||
closeIgnoringErrors(conn);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user