001package io.freefair.spring.okhttp.client; 002 003import lombok.NonNull; 004import okhttp3.OkHttpClient; 005import org.springframework.http.HttpMethod; 006import org.springframework.http.client.ClientHttpRequest; 007import org.springframework.http.client.ClientHttpRequestFactory; 008import java.net.URI; 009 010/** 011 * OkHttp based {@link ClientHttpRequestFactory} implementation. 012 * <p> 013 * Serves as replacement for the deprecated {@link org.springframework.http.client.OkHttp3ClientHttpRequestFactory}. 014 * 015 * @author Lars Grefer 016 */ 017public record OkHttpClientRequestFactory(@NonNull OkHttpClient okHttpClient) implements ClientHttpRequestFactory { 018 public OkHttpClientRequestFactory { 019 if (okHttpClient == null) { 020 throw new IllegalArgumentException("okHttpClient is marked non-null but is null"); 021 } 022 } 023 024 @Override 025 public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) { 026 return new OkHttpClientRequest(okHttpClient, uri, httpMethod); 027 } 028}