conn = IO.getConnectionToURI(uri, "GET", requestProp,
moSocketFactory, maxHttpRedirects, false);
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
conn.disconnect();
throw new XRIResolutionException(
"Got bad response code from URI: " + uri.toString()
+ ", code = " + conn.getResponseCode());
}
// read the bytes
int bufSize = 4096;
byte[] buf = new byte[bufSize];
int bufIndex = 0;
in = conn.getInputStream();
while (true) {
int n = in.read();
if (n == -1) // EOF
break;
if (maxBytesPerRequest >= 0 && bufIndex >= maxBytesPerRequest) {
throw new XRIResolutionException(Status.LIMIT_EXCEEDED, "Maximum response size exceeded");
}
if (maxTotalBytes >= 0 && state.getNumBytesReceived() + bufIndex >= maxTotalBytes) {
throw new XRIResolutionException(Status.LIMIT_EXCEEDED, "Maximum total received bytes exceeded");
}
if (bufIndex >= bufSize) {
byte[] newBuf = new byte[bufSize*2];
System.arraycopy(buf, 0, newBuf, 0, bufSize);