Twilio Java SDK 13: กำหนดค่า proxy ด้วย Apache HttpClient 5
กำหนดค่า NetworkHttpClient ที่เข้าใจ proxy แล้วส่งต่อไปยัง TwilioRestClient โดยไม่ต้องสร้างชั้นคำขอของ SDK ใหม่
Twilio Java 13.1.0 ยอมรับ builder ของ Apache HttpClient 5 ใน NetworkHttpClient กำหนดค่า proxy ของ builder นั้น แล้วส่ง transport ไปยังไคลเอนต์ SDK:
import com.twilio.http.NetworkHttpClient;
import com.twilio.http.TwilioRestClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.core5.http.HttpHost;
var apacheBuilder = HttpClientBuilder.create()
.setProxy(new HttpHost("http", "proxy.example", 8080));
var transport = new NetworkHttpClient(apacheBuilder);
var twilioClient = new TwilioRestClient.Builder(accountSid, authToken)
.httpClient(transport)
.build();accountSid และ authToken คือข้อมูลรับรอง Twilio ของแอปพลิเคชัน ตัวอย่างโค้ดนี้สร้างไคลเอนต์ ใช้มันในโอเวอร์โหลดของการดำเนินการทรัพยากรที่รับไคลเอนต์ เช่น create(twilioClient)
สคีมา http อธิบายการเชื่อมต่อผ่าน proxy URL ของ API Twilio ยังคงเป็น HTTPS สำหรับการทดสอบ API สาธารณะที่ได้รับอนุญาตโดยไม่มีบัญชี proxy ที่อยู่ HTTP จากรายการ proxy HTTP สามารถเติมโฮสต์และพอร์ต proxy ของ builder ได้
สำหรับ proxy ที่มีการพิสูจน์ตัวตน ให้แนบผู้ให้ข้อมูลรับรอง Apache ที่จำกัดเฉพาะโฮสต์และพอร์ตของ proxy ก่อนสร้าง NetworkHttpClient บัญชีของมันแยกจากบัญชี API ของ Twilio
ให้ตรงกับรุ่นไคลเอนต์ Apache
รุ่น Twilio ก่อนหน้าใช้คลาส Apache 4 ภายใต้ org.apache.http Apache 5 ใช้แพ็กเกจ org.apache.hc และลายเซ็นคอนสตรักเตอร์ HttpHost ที่ต่างออกไป ตรวจสอบคอนสตรักเตอร์ NetworkHttpClient ในเวอร์ชัน Twilio ที่แอปเลือกก่อนปรับตัวอย่างนี้