Ọ̀nà CONNECT ti Akka HTTP fún àwọn ìbéèrè HTTPS
So ọ̀nà proxy mọ́ àwọn ètò connection pool kí o sì fi àwọn ètò yẹn ránṣẹ́ sí ìbéèrè tí ó nílò tunnel.
Fún ìbéèrè HTTPS ti Akka HTTP, ṣètò client transport rẹ̀ kí CONNECT lè wáyé nípasẹ̀ forward proxy:
import java.net.InetSocketAddress
import akka.http.scaladsl.{ClientTransport, Http}
import akka.http.scaladsl.model.HttpRequest
import akka.http.scaladsl.settings.ConnectionPoolSettings
val transport = ClientTransport.httpsProxy(
InetSocketAddress.createUnresolved("proxy.example", 8080))
val settings = ConnectionPoolSettings(system)
.withConnectionSettings(_.withTransport(transport))
val response = Http().singleRequest(
HttpRequest(uri = "https://example.com/"),
settings = settings)
Ohun èlò náà pèsè ActorSystem tí ó wà tẹ́lẹ̀ gẹ́gẹ́ bí system, ó sì pa ìgbésí-ayé stream àti response-entity mọ́ bí ó ti wà. Lo tàbí kọ̀ response entity tí ó padà wá bí ó bá yẹ kí ìsopọ̀ lè di ìdásílẹ̀.
Orúkọ httpsProxy níbí ń tọ́ka sí dídá ìsopọ̀ ibi-àfojúsùn HTTPS nípasẹ̀ HTTP CONNECT proxy. Kì í ṣe ìtọ́ni láti ṣí TLS session sí proxy listener fúnra rẹ̀.
Fi àwọn ètò tí a ti ṣàtúnṣe ránṣẹ́ sínú ìbéèrè tàbí pool tí ó ń fi ìrìnàjò ránṣẹ́. Dídá ètò lẹ́gbẹ̀ẹ́ ìpè tí ó ń lo ìṣètò pool mìíràn kò yí ìpè yẹn padà.
Akka ṣe àkọsílẹ̀ ọ̀nà yìí fún àwọn ìbéèrè HTTPS. Pa ibi-àfojúsùn mọ́ gẹ́gẹ́ bí HTTPS URI gidi rẹ̀. HTTP endpoint láti inú àkójọ HTTP proxy jẹ́ olùdíje fún ọ̀nà náà nígbà tí ó bá gba ibi-àfojúsùn CONNECT tí ó pọn dandan. Àpẹẹrẹ bindFlow forwarding ní ẹ̀gbẹ́ server ṣẹ̀dá iṣẹ́ HTTP mìíràn, ó sì dáhùn ìṣòro ìkọ́ mìíràn.