From 998a5dc47356564413bca65c93de39be186a78f3 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Tue, 4 Apr 2023 23:47:02 -0700 Subject: Implemented passing API Key Header --- src/main/java/App.java | 2 +- src/main/java/com/pina/Holodex.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/App.java b/src/main/java/App.java index 59002ac..87bc66d 100644 --- a/src/main/java/App.java +++ b/src/main/java/App.java @@ -11,7 +11,7 @@ public class App { public static void main( String[] args ) { - Holodex holodex = new Holodex(); + Holodex holodex = new Holodex("APIKEYHERE"); try { ChannelQueryBuilder query = new ChannelQueryBuilder(); query.setOrg("Hololive"); diff --git a/src/main/java/com/pina/Holodex.java b/src/main/java/com/pina/Holodex.java index a341cff..8f45280 100644 --- a/src/main/java/com/pina/Holodex.java +++ b/src/main/java/com/pina/Holodex.java @@ -6,6 +6,8 @@ import com.pina.query.ChannelQueryBuilder; import com.pina.query.LiveVideoQueryBuilder; import com.pina.query.VideoQueryBuilder; import com.pina.query.VideosByChannelIDQuery; +import okhttp3.OkHttpClient; +import okhttp3.Request; import retrofit2.Call; import retrofit2.Response; import retrofit2.Retrofit; @@ -17,14 +19,25 @@ import java.util.List; public class Holodex { private final HolodexService service; - public Holodex() { + public Holodex(String apiKey) { + OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); + httpClient.addInterceptor(chain -> { + Request original = chain.request(); + Request request = original.newBuilder() + .header("X-APIKEY", apiKey) + .method(original.method(), original.body()) + .build(); + return chain.proceed(request); + }); Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://holodex.net") .addConverterFactory(JacksonConverterFactory.create()) + .client(httpClient.build()) .build(); service = retrofit.create(HolodexService.class); } + public List