This reverts commit 4ff5c5ec13.
This commit is contained in:
@@ -8,7 +8,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import okhttp3.*;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.soune.nocopy.configuration.search.SearchProperties;
|
||||
import ru.soune.nocopy.dto.BaseResponse;
|
||||
import ru.soune.nocopy.dto.MessageCode;
|
||||
import ru.soune.nocopy.dto.file.YandexSearchResponse;
|
||||
@@ -24,15 +23,40 @@ import java.util.concurrent.*;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
|
||||
public class SearchImageService {
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
private final SearchProperties searchProperties;
|
||||
private final OkHttpClient yandexHttpClient;
|
||||
|
||||
private final OkHttpClient googleHttpClient;
|
||||
|
||||
public SearchImageService() {
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP,
|
||||
new InetSocketAddress("193.46.217.94", 3128));
|
||||
|
||||
this.yandexHttpClient = new OkHttpClient.Builder()
|
||||
.proxy(proxy)
|
||||
.connectTimeout(35, TimeUnit.SECONDS)
|
||||
.writeTimeout(35, TimeUnit.SECONDS)
|
||||
.readTimeout(35, TimeUnit.SECONDS)
|
||||
.callTimeout(35, TimeUnit.SECONDS)
|
||||
.followRedirects(true)
|
||||
.followSslRedirects(true)
|
||||
.retryOnConnectionFailure(true)
|
||||
.build();
|
||||
|
||||
this.googleHttpClient = new OkHttpClient.Builder()
|
||||
// .proxy(proxy)
|
||||
.connectTimeout(35, TimeUnit.SECONDS)
|
||||
.writeTimeout(35, TimeUnit.SECONDS)
|
||||
.readTimeout(35, TimeUnit.SECONDS)
|
||||
.callTimeout(35, TimeUnit.SECONDS)
|
||||
.followRedirects(true)
|
||||
.followSslRedirects(true)
|
||||
.retryOnConnectionFailure(true)
|
||||
.build();
|
||||
|
||||
public SearchImageService(SearchProperties searchProperties) {
|
||||
this.searchProperties = searchProperties;
|
||||
this.objectMapper = new ObjectMapper();
|
||||
}
|
||||
|
||||
@@ -89,34 +113,12 @@ public class SearchImageService {
|
||||
return mimeType != null && mimeType.startsWith("image");
|
||||
}
|
||||
|
||||
private OkHttpClient createHttpClient(boolean useProxy) {
|
||||
OkHttpClient.Builder builder = new OkHttpClient.Builder()
|
||||
.connectTimeout(35, TimeUnit.SECONDS)
|
||||
.writeTimeout(35, TimeUnit.SECONDS)
|
||||
.readTimeout(35, TimeUnit.SECONDS)
|
||||
.callTimeout(35, TimeUnit.SECONDS)
|
||||
.followRedirects(true)
|
||||
.followSslRedirects(true)
|
||||
.retryOnConnectionFailure(true);
|
||||
|
||||
if (useProxy && searchProperties.getProxy().isEnabled()) {
|
||||
Proxy proxy = new Proxy(Proxy.Type.HTTP,
|
||||
new InetSocketAddress(searchProperties.getProxy().getHost(),
|
||||
searchProperties.getProxy().getPort()));
|
||||
builder.proxy(proxy);
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private String callReverseImageApiByUrl(String imageUrl, String engine, String searchType) throws IOException {
|
||||
if (searchApiKey == null || searchApiKey.isBlank()) {
|
||||
throw new IllegalStateException("SearchAPI key not configured");
|
||||
}
|
||||
|
||||
boolean useProxy = searchProperties.getProxy().isEnabled();
|
||||
|
||||
OkHttpClient client = createHttpClient(useProxy);
|
||||
OkHttpClient client = engine.contains("yandex_reverse_image") ? yandexHttpClient : googleHttpClient;
|
||||
|
||||
HttpUrl url = HttpUrl.parse("https://www.searchapi.io/api/v1/search")
|
||||
.newBuilder()
|
||||
|
||||
Reference in New Issue
Block a user