ROME Feeds: set de proxy op de HTTP-klient
Lit de HTTP-klient it proxy-routing en de statusôfhanneling besitte, en jout dan syn stream en ynhâldstype oan ROME syn XML-lêzer.
ROME parset feed-bytes; de proxy-route en it akkount hearre by de HTTP-klient. Foar in keazen JDK HttpClient heart in fêste proxy op syn builder:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
Foar in tastiene iepenbiere feed-test sûnder proxy-autentikaasje ferfang de plakhâlder-host en -poarte troch in kandidaat út 'e HTTP-proxylist. Foegje de autentikaasje fan 'e útfiering en de fersyklimiten ta oan dy klient. Nei't er in akseptabel antwurd krigen hat, jout de stream oan ROME:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
De moderne imports binne com.rometools.rome.io.XmlReader en SyndFeedInput. Hjir is body de ûntfongen InputStream en contentType is de HTTP Content-Type. XmlReader hâldt rekken mei de BOM, dy metadata en de XML-ferklearring. Earst dekodearje mei in willekeurige charset kin nuttich bewiis fuortsmite.
Ûndersykje de HTTP-status foar it parsen. Oars kin in proxy-oanmeldingsside of in wegering as XML-flater ferskine. Meitsje ek lichems frij foar wegere antwurden, sadat in HTTP-flater syn stream net iepen lit.
Twa feedboarnen kinne ferskillend konfigurearre klanten brûke sûnder JVM-proxy-eigenskippen tusken oproppen te feroarjen. Eltse HTTP-klient besit syn route wylst ROME de parsbewurking besit.