3b327f5917fa0ab87116eae35bcb7cc281690eb6
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.admin.bff.apis.remote.base.configuration;
2
3 import org.apache.http.conn.HttpClientConnectionManager;
4 import org.springframework.beans.factory.annotation.Value;
5 import org.springframework.cloud.commons.httpclient.ApacheHttpClientFactory;
6 import org.springframework.context.annotation.Bean;
7
8 import com.supwisdom.institute.backend.common.core.feign.FeignClientBuilder;
9
10 import feign.Client;
11
12 public class BaseFeignClientConfiguration {
13
14   @Bean
15   public Client feignClient(
16       @Value("${sw-backend-base-api.client-auth.enabled:false}") boolean enabled,
17       @Value("${sw-backend-base-api.client-auth.key-password:}") String keyPassword,
18       @Value("${sw-backend-base-api.client-auth.key-store:}") String keyStore,
19       @Value("${sw-backend-base-api.client-auth.key-store-password:}") String keyStorePassword,
20       @Value("${sw-backend-base-api.client-auth.trust-store:}") String trustStore,
21       @Value("${sw-backend-base-api.client-auth.trust-store-password:}") String trustStorePassword,
22       ApacheHttpClientFactory httpClientFactory,
23       HttpClientConnectionManager httpClientConnectionManager) {
24     
25     return FeignClientBuilder.builder()
26         .enabled(enabled)
27         .keyPassword(keyPassword)
28         .keyStore(keyStore)
29         .keyStorePassword(keyStorePassword)
30         .trustStore(trustStore)
31         .trustStorePassword(trustStorePassword)
32         .build()
33         .apacheHttpClient(httpClientFactory, httpClientConnectionManager);
34   }
35
36 }