001package io.freefair.spring.okhttp; 002 003import okhttp3.OkHttpClient; 004import org.springframework.boot.autoconfigure.AutoConfiguration; 005import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; 006import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration; 007import org.springframework.boot.web.client.RestClientCustomizer; 008import org.springframework.context.annotation.Bean; 009import org.springframework.context.annotation.Conditional; 010import org.springframework.http.client.OkHttp3ClientHttpRequestFactory; 011import org.springframework.web.client.RestClient; 012 013/** 014 * @author Lars Grefer 015 * @see RestClientAutoConfiguration 016 */ 017@AutoConfiguration 018@ConditionalOnClass({RestClientCustomizer.class, RestClient.class}) 019@Conditional(NotReactiveWebApplicationCondition.class) 020public class OkHttpRestClientAutoConfiguration { 021 022 @Bean 023 public RestClientCustomizer okHttpRestClientCustomizer(OkHttpClient okHttpClient) { 024 return restClientBuilder -> restClientBuilder.requestFactory(new OkHttp3ClientHttpRequestFactory(okHttpClient)); 025 } 026 027}