Spring WebClient מיט Jetty: פּשוטע HTTP פּראָקסי אָן CONNECT
ניצט Springs Jetty פֿאַרבינדונג מיט פּאַסנדיקע HTTP/1.1 קליענט און פּראָקסי פּראָטאָקאָלן ווען מ'דאַרף אַ געוויינטלעכן ווײַטערגעשיקטער HTTP בקשה.
דער HTTP פּראָקסי-באַהאַנדלער פֿון Reactor Netty שאַפֿט אַ CONNECT טונעל אַפֿילו פֿאַר אַ געוויינטלעך HTTP ציל. אויב דער באַשטימטער פּראָקסי נעמט אָן געוויינטלעכע HTTP/1.1 ווײַטערשיקונג, קען Spring WebClient ניצן אַן אַנדער פֿאַרבינדונג וואָס ווערט געשטיצט.
פֿאַר Spring 6.2 מיט Jetty 12.0.35 ס קליענט API און פּאַסיקער Jetty Reactive Streams אינטעגראַציע:
var jetty = new org.eclipse.jetty.client.HttpClient(
new org.eclipse.jetty.client.transport.HttpClientTransportOverHTTP());
jetty.getProxyConfiguration().addProxy(
new org.eclipse.jetty.client.HttpProxy("proxy.example", 8080));
var client = WebClient.builder()
.clientConnector(new JettyClientHttpConnector(jetty))
.build();WebClient און JettyClientHttpConnector זענען Spring קלאַסן. פֿירט דעם אָנהייב און אָפּשטעל פֿון דער צוגעשטעלטער Jetty קליענט דורך דעם נאָרמאַלן לעבנס-ציקל פֿון דער אַפּלאַקיישאַן.
Jettys HTTP/1.1 פּראָקסי קען ווײַטערשיקן אַ געוויינטלעכן HTTP/1.1 בקשה אָן אַ טונעל ווען די פּראָטאָקאָלן פֿון ציל און קליענט-פּראָקסי שטימען איבער. זײַן requiresTunnel פּאָליטיק ניצט CONNECT פֿאַר זיכערע צילן און פֿאַר ניט-פּאַסיקע פּראָטאָקאָל וועגן.
דאָס איז ניט קיין וועג אַוועקצונעמען CONNECT פֿון אַ געוויינטלעכן HTTPS טונעל. האַלט דעם scheme פֿון ציל ריכטיק.
ניצט addProxy אין דער דערמאָנטער Jetty API. getProxies גיט אומענדערלעכע רשימה, דעריבער די עלטערע getProxies().add(...) רעצעפּט איז ניט זײַן איצטיקער ענדערונג-אינטערפֿייס.
פֿאַר עפֿנטלעכע HTTP צילן אויף אַ דערלויבטער עפֿנטלעכער פּראָקסי-רוטע גיט די HTTP פּראָקסי רשימה קאַנדידאַטן פֿאַר Jetty פּראָקסיס host און port. לייענט די טאַקע פּראָקסי ענטפֿער ווען איר פֿאַרגלײַכט פֿאַרבינדונגען. אויטענטיפֿיקאַציע, ציל-פּאָליטיק און אַ ניט-פֿאַרגלייכלעך ציל בלײַבן באַזונדער פֿון דער אויסוואַל פֿון ווײַטערגעשיקטער HTTP אָדער CONNECT.