java创建请求拦截器_java – 如何添加头到OkHttp请求拦截器?

我有这个拦截器,我添加到我的OkHttp客户端:

public class RequestTokenInterceptor implements Interceptor {

@Override

public Response intercept(Chain chain) throws IOException {

Request request = chain.request();

// Here where we'll try to refresh token.

// with an retrofit call

// After we succeed we'll proceed our request

Response response = chain.proceed(request);

return response;

}

}

我如何在我的拦截器中添加头文件来请求?

我尝试过这个,但是我犯错误,创建新请求时我失去了我的要求:

public class RequestTokenInterceptor implements Interceptor {

@Override

public Response intercept(Interceptor.Chain chain) throws IOException {

Request request = chain.request();

Request newRequest;

try {

Log.d("addHeader", "Before");

String token = TokenProvider.getInstance(mContext).getToken();

newRequest = request.newBuilder()

.addHeader(HeadersContract.HEADER_AUTHONRIZATION, O_AUTH_AUTHENTICATION + token)

.addHeader(HeadersContract.HEADER_CLIENT_ID, CLIENT_ID)

.build();

} catch (Exception e) {

Log.d("addHeader", "Error");

e.printStackTrace();

return chain.proceed(request);

}

Log.d("addHeader", "after");

return chain.proceed(newRequest);

}

}

请注意,我知道我可以在创建请求时添加标题:

Request request = new Request.Builder()

.url("https://api.github.com/repos/square/okhttp/issues")

.header("User-Agent", "OkHttp Headers.java")

.addHeader("Accept", "application/json; q=0.5")

.addHeader("Accept", "application/vnd.github.v3+json")

.build();

但它不符合我的需要。我需要它在拦截器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值