mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-01 23:35:29 +00:00
[AB-xxx] adding user agent for all outgoing okhttp requests
This commit is contained in:
@@ -39,7 +39,7 @@ public class WikipediaServiceBean implements WikipediaService {
|
|||||||
Response response = okHttpClient.newCall(request).execute();
|
Response response = okHttpClient.newCall(request).execute();
|
||||||
if(!response.isSuccessful()) {
|
if(!response.isSuccessful()) {
|
||||||
if(log.isDebugEnabled()) {
|
if(log.isDebugEnabled()) {
|
||||||
log.error("Failed to retrieve wikipedia summary. Response had code {} with body {}.",
|
log.debug("Failed to retrieve wikipedia summary. Response had code {} with body {}.",
|
||||||
response.code(), response.body());
|
response.code(), response.body());
|
||||||
}
|
}
|
||||||
throw new WikipediaRequestException(response.code());
|
throw new WikipediaRequestException(response.code());
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import com.google.gson.GsonBuilder;
|
|||||||
import com.google.gson.typeadapters.RuntimeTypeAdapterFactory;
|
import com.google.gson.typeadapters.RuntimeTypeAdapterFactory;
|
||||||
import dev.sheldan.abstracto.core.logging.OkHttpLogger;
|
import dev.sheldan.abstracto.core.logging.OkHttpLogger;
|
||||||
import dev.sheldan.abstracto.core.metric.OkHttpMetrics;
|
import dev.sheldan.abstracto.core.metric.OkHttpMetrics;
|
||||||
import dev.sheldan.abstracto.core.service.BotService;
|
|
||||||
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowButtonConfig;
|
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowButtonConfig;
|
||||||
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowItemConfig;
|
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ActionRowItemConfig;
|
||||||
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ComponentConfig;
|
import dev.sheldan.abstracto.core.templating.model.messagecomponents.ComponentConfig;
|
||||||
@@ -37,15 +36,15 @@ import java.util.List;
|
|||||||
@Configuration
|
@Configuration
|
||||||
public class CoreConfig {
|
public class CoreConfig {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private BotService botService;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OkHttpMetrics okHttpMetrics;
|
private OkHttpMetrics okHttpMetrics;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private OkHttpLogger okHttpLogger;
|
private OkHttpLogger okHttpLogger;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OkHttpUserAgentSetter okHttpUserAgentSetter;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private List<CustomJsonSerializer> customJsonSerializers;
|
private List<CustomJsonSerializer> customJsonSerializers;
|
||||||
|
|
||||||
@@ -95,6 +94,7 @@ public class CoreConfig {
|
|||||||
return new OkHttpClient.Builder()
|
return new OkHttpClient.Builder()
|
||||||
.addInterceptor(okHttpMetrics)
|
.addInterceptor(okHttpMetrics)
|
||||||
.addInterceptor(okHttpLogger)
|
.addInterceptor(okHttpLogger)
|
||||||
|
.addInterceptor(okHttpUserAgentSetter)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package dev.sheldan.abstracto.core.config;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import okhttp3.Interceptor;
|
||||||
|
import okhttp3.Request;
|
||||||
|
import okhttp3.Response;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class OkHttpUserAgentSetter implements Interceptor {
|
||||||
|
|
||||||
|
@Value("${abstracto.okhttp.useragent}")
|
||||||
|
private String userAgent;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public Response intercept(@NotNull Chain chain) throws IOException {
|
||||||
|
Request originalRequest = chain.request();
|
||||||
|
Request requestWithUserAgent = originalRequest.newBuilder()
|
||||||
|
.header("User-Agent", userAgent)
|
||||||
|
.build();
|
||||||
|
return chain.proceed(requestWithUserAgent);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,3 +23,5 @@ abstracto.systemConfigs.maxMessages.longValue=3
|
|||||||
|
|
||||||
abstracto.featureFlags.core.featureName=core
|
abstracto.featureFlags.core.featureName=core
|
||||||
abstracto.featureFlags.core.enabled=true
|
abstracto.featureFlags.core.enabled=true
|
||||||
|
|
||||||
|
abstracto.okhttp.useragent=abstracto (https://github.com/Sheldan/)
|
||||||
Reference in New Issue
Block a user