package tellh.com.gitclub.model.net.client;
import android.content.Context;
import java.io.IOException;
import javax.inject.Inject;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import tellh.com.gitclub.R;
import tellh.com.gitclub.model.sharedprefs.AccountPrefs;
/**
* Created by tlh on 2016/8/26 :)
*/
public class GithubOkHttpClient extends CacheOkHttpClient {
public String getAcceptHeader() {
return "application/vnd.github.v3.json";
}
@Inject
public GithubOkHttpClient(Context ctx) {
super(ctx);
}
@Override
protected OkHttpClient.Builder enrichBuilder(OkHttpClient.Builder builder) {
builder.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request original = chain.request();
Request.Builder requestBuilder = original.newBuilder()
.header("Accept", getAcceptHeader())
.header("User-Agent", mCtx.getString(R.string.app_name));
if (AccountPrefs.isLogin(mCtx)) {
requestBuilder
.header("Authorization", "token " + AccountPrefs.getLoginToken(mCtx));
}
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
return super.enrichBuilder(builder);
}
}