cn.hutool.http.HttpInterceptor Maven / Gradle / Ivy
The newest version!
package cn.hutool.http;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
/**
* Http拦截器接口,通过实现此接口,完成请求发起前或结束后对请求的编辑工作
*
* @param 过滤参数类型,HttpRequest或者HttpResponse
* @author looly
* @since 5.7.16
*/
@FunctionalInterface
public interface HttpInterceptor> {
/**
* 处理请求
*
* @param httpObj 请求或响应对象
*/
void process(T httpObj);
/**
* 拦截器链
*
* @param 过滤参数类型,HttpRequest或者HttpResponse
* @author looly
* @since 5.7.16
*/
class Chain> implements cn.hutool.core.lang.Chain, Chain> {
private final List> interceptors = new LinkedList<>();
@Override
public Chain addChain(HttpInterceptor element) {
interceptors.add(element);
return this;
}
@Override
public Iterator> iterator() {
return interceptors.iterator();
}
/**
* 清空
*
* @return this
* @since 5.8.0
*/
public Chain clear() {
interceptors.clear();
return this;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy