package starter.kit.retrofit; import java.io.IOException; import okhttp3.Headers; import okhttp3.Request; import okhttp3.Response; import starter.kit.account.AccountManager; import starter.kit.util.Strings; /** * @author <a href="mailto:smartydroid.com@gmail.com">Smartydroid</a> */ public class DefaultHeaderInterceptor implements HeaderInterceptor { private Headers.Builder builder; public DefaultHeaderInterceptor(Headers.Builder builder) { this.builder = builder; } @Override public Response intercept(Chain chain) throws IOException { Request originalRequest = chain.request(); if (builder == null) { builder = new Headers.Builder(); } final String token = AccountManager.INSTANCE.token(); if (!Strings.isBlank(token)) { builder.set("Authorization", "Bearer " + token); } Request compressedRequest = originalRequest .newBuilder() .headers(builder.build()) .build(); return chain.proceed(compressedRequest); } }