From 9ca29d8872608456d2bb8c27377848ce43fc7884 Mon Sep 17 00:00:00 2001 From: france193 Date: Tue, 24 Oct 2017 12:43:28 +0200 Subject: [PATCH] fixed #47 Signed-off-by: france193 --- src/main/java/jota/IotaAPICore.java | 30 +++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/jota/IotaAPICore.java b/src/main/java/jota/IotaAPICore.java index dc5e2d1..1061068 100644 --- a/src/main/java/jota/IotaAPICore.java +++ b/src/main/java/jota/IotaAPICore.java @@ -5,7 +5,9 @@ import jota.dto.response.*; import jota.error.InvalidTrytesException; import jota.model.Transaction; import jota.utils.InputValidator; +import okhttp3.Interceptor; import okhttp3.OkHttpClient; +import okhttp3.Request; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import retrofit2.Call; @@ -84,17 +86,37 @@ public class IotaAPICore { } /** - * + * added in postConstruct the header for IRI 1.4.1 */ private void postConstruct() { final String nodeUrl = protocol + "://" + host + ":" + port; - final OkHttpClient client = new OkHttpClient.Builder() + // Create OkHttpBuilder + final OkHttpClient.Builder okhttpBuilder = new OkHttpClient.Builder() .readTimeout(5000, TimeUnit.SECONDS) - .connectTimeout(5000, TimeUnit.SECONDS) - .build(); + .connectTimeout(5000, TimeUnit.SECONDS); + // add an Interceptor in order to add the requested header + okhttpBuilder.addNetworkInterceptor( + new Interceptor() { + @Override + public okhttp3.Response intercept(Chain chain) throws IOException { + Request request = chain.request(); + Request newRequest; + + newRequest = request.newBuilder() + .addHeader("X-IOTA-API-VERSION", "1.4.1") + .build(); + + return chain.proceed(newRequest); + } + }); + + // create client + final OkHttpClient client = okhttpBuilder.build(); + + // use client to create Retrofit service final Retrofit retrofit = new Retrofit.Builder() .baseUrl(nodeUrl) .addConverterFactory(GsonConverterFactory.create())