package com.ard.tianyu.forest;
|
|
import com.ard.tianyu.config.TyConfiguration;
|
import com.ard.tianyu.domain.receiver.AccessTokenReceiver;
|
import com.dtflys.forest.http.ForestRequest;
|
import com.dtflys.forest.interceptor.Interceptor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
import javax.annotation.Resource;
|
|
@Component
|
@Slf4j
|
public class TokenInterceptor<T> implements Interceptor<T> {
|
@Resource
|
private TyConfiguration tyConfiguration;
|
|
/**
|
* 该方法在请求发送之前被调用, 若返回false则不会继续发送请求
|
*
|
* @Param request Forest请求对象
|
*/
|
@Override
|
public boolean beforeExecute(ForestRequest req) {
|
log.info("invoke Simple beforeExecute");
|
// 执行在发送请求之前处理的代码
|
// 从缓存里获取token
|
AccessTokenReceiver accessToken = tyConfiguration.getAccessToken();
|
req.addHeader("x-cid", accessToken.getCompanyId());
|
req.addHeader("x-token", accessToken.getAccessToken());
|
// req.addHeader("Authorization", "")); // 添加Header
|
// req.addQuery("username", "foo"); // 添加URL的Query参数
|
return true; // 继续执行请求返回true
|
}
|
}
|