Spring WebClient د Jetty سره: پرته له CONNECT عادي HTTP پراکسي
کله چې عادي لېږدول شوې HTTP غوښتنه ته اړتیا وي، د Spring د Jetty نښلوونکی د سمون خوړونکو HTTP/1.1 کلاینت او پراکسي پروتوکولونو سره وکاروئ.
د Reactor Netty د HTTP پراکسي لاسغوښتونکی حتی د عادي HTTP هدف لپاره CONNECT تونل جوړوي. که چې اراده شوې پراکسي عادي 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 کلاینت پیل او بندول د غوښتنلیک د عادي ژوند چرخې له لارې مدیریت کړئ.
د Jetty HTTP/1.1 پراکسي کولای شي عادي HTTP/1.1 غوښتنه پرته له تونل ولېږدوي کله چې د هدف او کلاینت-پراکسي پروتوکولونه سره سمون وخوري. د هغې requiresTunnel تګلاره د خوندي هدفونو او ناسازگارو پروتوکول لارو لپاره CONNECT کاروي.
دا د عادي HTTPS تونل څخه د CONNECT د لرې کولو لاره نه ده. د هدف scheme سم وساتئ.
په یاد شوي Jetty API کې addProxy وکاروئ. getProxies د بدلېدو وړ نه وي لیکل شوې لېست بیرته راګرځوي، نو زوړ getProxies().add(...) ترکیب د هغې اوسنی د بدلون انټرفیس نه دی.
په اجازه ورکړل شوې عامه پراکسي لار کې د عامه HTTP هدفونو لپاره، د HTTP پراکسي لېست د Jetty پراکسي host او port لپاره نوماندان برابروي. د نښلوونکو پرتله کولو پر مهال د پراکسي ریښتینی ځواب ولولئ. تصدیق، د هدف تګلاره او نه شته هدف د لېږدول شوي HTTP یا CONNECT له غوراوي څخه جلا پاتې کیږي.