package com.zulip.android.networking;
import android.util.Base64;
import com.zulip.android.ZulipApp;
import java.io.IOException;
import okhttp3.Interceptor;
import okhttp3.Request;
import okhttp3.Response;
public class ZulipInterceptor implements Interceptor {
private final ZulipApp app;
public ZulipInterceptor() {
app = ZulipApp.get();
}
@Override
public Response intercept(Chain chain) throws IOException {
Request.Builder requestBuilder = chain.request().newBuilder();
requestBuilder.addHeader("client", "Android");
requestBuilder.addHeader("User-Agent", app.getUserAgent());
if (app.getApiKey() != null) {
String authstr = app.getEmail() + ":" + app.getApiKey();
requestBuilder.addHeader("Authorization", "Basic " + Base64.encodeToString(authstr.getBytes(), Base64.NO_WRAP));
}
Request request = requestBuilder.build();
return chain.proceed(request);
}
}