Η μέθοδος proxy του Reactor Netty επιστρέφει τον ρυθμισμένο client
Κρατήστε το HttpClient που επιστρέφει η proxy() πριν το περάσετε στο ReactorClientHttpConnector· ο αρχικός client δεν αλλάζει.
Οι μέθοδοι ρύθμισης του HttpClient στο Reactor Netty επιστρέφουν αναφορά σε έναν ρυθμισμένο client. Αν πετάξετε αυτό το αποτέλεσμα, η προηγούμενη αναφορά κρατά τις παλιές της ρυθμίσεις.
Ο παρακάτω κώδικας δημιουργεί μια ρύθμιση proxy και μετά τη χάνει:
HttpClient client = HttpClient.create();
client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
Αντίθετα, κρατήστε την αναφορά που επιστρέφεται:
client = client.proxy(spec -> spec.type(ProxyProvider.Proxy.HTTP)
.host("proxy.example").port(8080));
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(client))
.build();
Οι τύποι είναι HttpClient και ProxyProvider του Reactor Netty, καθώς και WebClient και ReactorClientHttpConnector του Spring. Η αλυσιδωτή κλήση μεθόδων απευθείας από το HttpClient.create() είναι ένας ακόμη τρόπος να διατηρήσετε τη ρύθμιση που επιστρέφεται. Για επιτρεπόμενα αιτήματα δημόσιου API, η λίστα proxy HTTP παρέχει υποψήφια για τον host και τη θύρα του παραδείγματος.
Ο ίδιος έλεγχος ισχύει όταν ορίζετε χρονικά όρια απόκρισης ή χειρίζεστε ανακατευθύνσεις. Διαβάστε το συμβόλαιο επιστροφής της μεθόδου αντί να υποθέτετε ότι ένα setter μεταβάλλει το αρχικό αντικείμενο.
Παρακολουθήστε επίσης ποια αναφορά φτάνει στον connector. Η εκ νέου ανάθεση μιας τοπικής μεταβλητής μετά τη δημιουργία connector δεν αντικαθιστά τον client που έχει ήδη λάβει ο connector.