diff --git a/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/wikipedia/service/WikipediaServiceBean.java b/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/wikipedia/service/WikipediaServiceBean.java index 210a2c9e7..306c63593 100644 --- a/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/wikipedia/service/WikipediaServiceBean.java +++ b/abstracto-application/abstracto-modules/webservices/webservices-impl/src/main/java/dev/sheldan/abstracto/webservices/wikipedia/service/WikipediaServiceBean.java @@ -39,7 +39,7 @@ public class WikipediaServiceBean implements WikipediaService { Response response = okHttpClient.newCall(request).execute(); if(!response.isSuccessful()) { 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()); } throw new WikipediaRequestException(response.code()); diff --git a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/CoreConfig.java b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/CoreConfig.java index 690641793..850a6dab9 100644 --- a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/CoreConfig.java +++ b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/CoreConfig.java @@ -6,7 +6,6 @@ import com.google.gson.GsonBuilder; import com.google.gson.typeadapters.RuntimeTypeAdapterFactory; import dev.sheldan.abstracto.core.logging.OkHttpLogger; 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.ActionRowItemConfig; import dev.sheldan.abstracto.core.templating.model.messagecomponents.ComponentConfig; @@ -37,15 +36,15 @@ import java.util.List; @Configuration public class CoreConfig { - @Autowired - private BotService botService; - @Autowired private OkHttpMetrics okHttpMetrics; @Autowired private OkHttpLogger okHttpLogger; + @Autowired + private OkHttpUserAgentSetter okHttpUserAgentSetter; + @Autowired private List customJsonSerializers; @@ -95,6 +94,7 @@ public class CoreConfig { return new OkHttpClient.Builder() .addInterceptor(okHttpMetrics) .addInterceptor(okHttpLogger) + .addInterceptor(okHttpUserAgentSetter) .build(); } diff --git a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/OkHttpUserAgentSetter.java b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/OkHttpUserAgentSetter.java new file mode 100644 index 000000000..b0d2ef77a --- /dev/null +++ b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/config/OkHttpUserAgentSetter.java @@ -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); + } +} diff --git a/abstracto-application/core/core-impl/src/main/resources/abstracto.properties b/abstracto-application/core/core-impl/src/main/resources/abstracto.properties index 0aebea4a8..e03908e17 100644 --- a/abstracto-application/core/core-impl/src/main/resources/abstracto.properties +++ b/abstracto-application/core/core-impl/src/main/resources/abstracto.properties @@ -22,4 +22,6 @@ abstracto.systemConfigs.maxMessages.name=maxMessages abstracto.systemConfigs.maxMessages.longValue=3 abstracto.featureFlags.core.featureName=core -abstracto.featureFlags.core.enabled=true \ No newline at end of file +abstracto.featureFlags.core.enabled=true + +abstracto.okhttp.useragent=abstracto (https://github.com/Sheldan/) \ No newline at end of file