in src/main/java/org/apache/commons/io/input/XmlStreamReader.java [669:695]
public XmlStreamReader(final URLConnection urlConnection, final String defaultEncoding) throws IOException {
Objects.requireNonNull(urlConnection, "urlConnection");
this.defaultEncoding = defaultEncoding;
final boolean lenient = true;
final String contentType = urlConnection.getContentType();
final InputStream inputStream = urlConnection.getInputStream();
@SuppressWarnings("resource") // managed by the InputStreamReader tracked by this instance
// @formatter:off
final BOMInputStream bomInput = BOMInputStream.builder()
.setInputStream(new BufferedInputStream(inputStream, IOUtils.DEFAULT_BUFFER_SIZE))
.setInclude(false)
.setByteOrderMarks(BOMS)
.get();
@SuppressWarnings("resource")
final BOMInputStream piInput = BOMInputStream.builder()
.setInputStream(new BufferedInputStream(bomInput, IOUtils.DEFAULT_BUFFER_SIZE))
.setInclude(true)
.setByteOrderMarks(XML_GUESS_BYTES)
.get();
// @formatter:on
if (urlConnection instanceof HttpURLConnection || contentType != null) {
this.encoding = processHttpStream(bomInput, piInput, lenient, contentType);
} else {
this.encoding = processHttpStream(bomInput, piInput, lenient);
}
this.reader = new InputStreamReader(piInput, encoding);
}