Merge pull request #48 from france193/develop

added X-IOTA-API-Version request header
This commit is contained in:
Oliver Nitzschke 2017-10-24 16:18:44 +02:00 committed by GitHub
commit 3db35de690
2 changed files with 31 additions and 6 deletions

3
.gitignore vendored
View File

@ -8,5 +8,4 @@
.classpath
.project
*.class
target/*
target/*

View File

@ -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;
@ -27,6 +29,10 @@ import java.util.concurrent.TimeUnit;
*/
public class IotaAPICore {
// version header
private static final String X_IOTA_API_VERSION_HEADER_NAME = "X-IOTA-API-Version";
private static final String X_IOTA_API_VERSION_HEADER_VALUE = "1";
private static final Logger log = LoggerFactory.getLogger(IotaAPICore.class);
private IotaAPIService service;
@ -84,17 +90,37 @@ public class IotaAPICore {
}
/**
*
* added 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_HEADER_NAME, X_IOTA_API_VERSION_HEADER_VALUE)
.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())