}
public Content readContent(String sourceUri) throws IOException {
LOGGER.log(Level.FINER, "Reading metadata of source URI: \"{0}\" through proxy: {1}", new Object[]{sourceUri, this});
sourceUri = Val.chkStr(sourceUri).replaceAll("\\{", "%7B").replaceAll("\\}", "%7D");
HttpClientRequest cr = new HttpClientRequest();
cr.setBatchHttpClient(this.info.getBatchHttpClient());
cr.setUrl(sourceUri);
BreakableStringHandler sh = new BreakableStringHandler(criteria!=null? criteria.getFromDate(): null);
cr.setContentHandler(sh);
cr.setCredentialProvider(info.newCredentialProvider());
cr.execute();
String mdText = sh.getContent();
LOGGER.log(Level.FINER, "Received metadata of source URI: \"{0}\" through proxy: {1}", new Object[]{sourceUri, this});
LOGGER.finest(mdText);
return new Content(sh.getLastModifiedDate(), mdText);
}