ROME Feeds: setzt de Proxy op den HTTP-Client
Loosst den HTTP-Client d'Proxy-Routing an d'Statusbehandlung iwwerhuelen, a gitt dann säi Stream a säin Inhaltstyp un dem ROME säin XML-Lieser weider.
ROME parst d'Feed-Bytes; d'Proxy-Route an de Kont gehéieren zum HTTP-Client. Fir en ausgewielten JDK HttpClient gehéiert e feste Proxy op säi Builder:
HttpClient client = HttpClient.newBuilder()
.proxy(ProxySelector.of(
new InetSocketAddress("proxy.example", 8080)))
.build();
Fir en erlaabten ëffentlechen Feed-Test ouni Proxy-Authentifikatioun ersetzt de Plazhalter-Host an -Port duerch e Kandidat aus der HTTP-Proxy-Lëscht. Füügt dem Client d'Authentifikatioun vum Deployment an d'Ufro-Limitten derbäi. Nodeems en eng akzeptabel Äntwert kritt huet, gitt de Stream un ROME:
try (XmlReader reader = new XmlReader(body, contentType)) {
SyndFeed feed = new SyndFeedInput().build(reader);
}
Déi modern Importer sinn com.rometools.rome.io.XmlReader an SyndFeedInput. Hei ass body den empfangenen InputStream an contentType ass den HTTP Content-Type. Den XmlReader berücksichtegt d'BOM, déi Metadaten an d'XML-Deklaratioun. Wien als éischt mat engem beliebegen Charset dekodéiert, kann nëtzlech Beweiser verwerfen.
Iwwerpréift den HTTP-Status virum Parsen. Soss kann eng Proxy-Anmeldungssäit oder eng Oflehnung als XML-Fehler erschéngen. Gitt och d'Kierper fir ofgeleent Äntwerten fräi, sou datt en HTTP-Fehler säi Stream net oppe léisst.
Zwou Feed-Quellen kënnen ënnerschiddlech konfiguréiert Cliente benotzen, ouni d'JVM-Proxy-Eegeschaften tëscht den Opruffer ze veränneren. All HTTP-Client besëtzt seng Route, während ROME de Parsing-Schrëtt besëtzt.