Cliente HTTP configurable
Información general
El SDK de Rapid utiliza un cliente HTTP subyacente para ejecutar las llamadas a la API. Para dar a los desarrolladores Más control sobre el cliente HTTP se proporciona un constructor que puede utilizarse para pasar tu propio cliente HTTP para que lo utilice el SDK. Utilizando este constructor, puedes construir un cliente HTTP con tus propias configuraciones y pasarlo al SDK, o incluso pasar un cliente que ya estés utilizando en tu aplicación.
Configurar un cliente HTTP frente a utilizar el cliente por defecto
Utilizar el cliente predeterminado proporcionado es la forma más sencilla de empezar a utilizar el SDK. Sin embargo, configurar tu Propio cliente HTTP te beneficiará de las siguientes maneras:
- Optimización: Fine-tune el cliente para mejorar el rendimiento, como la agrupación de conexiones, los tiempos de espera y los reintentos.
- Integración: Utiliza un cliente HTTP existente que ya esté configurado y probado dentro de tu aplicación.
Por tanto, si quieres optimizar el SDK para mejorar su rendimiento o integrarlo con un cliente HTTP existente, configurar Tu propio cliente HTTP.
Cómo configurar tu cliente HTTP
Para configurar tu cliente HTTP necesitas crear una instancia de OkHttpClient
y pasársela al constructor de RapidClient
.
1. Crea una instancia de OkHttpClient
con tus configuraciones. Puedes utilizar una instancia existente o crear una nueva.
Ejemplo:
OkHttpClient customClient = new OkHttpClient.Builder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();
Para más información sobre la configuración de OkHttpClient
, consulta la documentación de OkHttp .
2. Pasa la instancia OkHttpClient
al constructor RapidClient``builderWithHttpClient
.
Ejemplo:
RapidClient rapidClient = RapidClient.builderWithHttpClient()
.okHttpClient(customClient)
.key("YOUR_API_KEY")
.secret("YOUR_API_SECRET")
.build();
3. Utiliza el rapidClient
configurado para hacer llamadas a la API como de costumbre.
Ejemplo:
GetAvailabilityOperationParams getAvailabilityOperationParams = GetAvailabilityOperationParams.builder()
.checkin("YYYY-MM-DD")
.checkout("YYYY-MM-DD")
.currency("USD")
.language("en_US")
/* ... */
.build();
GetAvailabilityOperation operation = new GetAvailabilityOperation(params);
Response<List<Property>> response = rapidClient.execute(operation);