<commit_before>package org.voovan.http.server;

import org.voovan.http.server.FilterConfig;

/**
 * Http 服务过滤器接口
 * @author helyho
 *
 * Voovan Framework.
 * WebSite: https://github.com/helyho/Voovan
 * Licence: Apache v2 License
 */
public interface HttpBizFilter {
	/**
	 * 请求过滤器,在请求之前
	 * @param filterConfig 过滤器配置对象
	 * @param request  请求对象
	 * @param response 响应对象
	 * @param prevFilterResult 上一个过滤器的结果,可用来传递控制过滤器
	 * @return 本地过滤器的结果,用于传递到下一个过滤器的prevFilterResult参数
     */
	public Object onRequest(FilterConfig filterConfig, HttpRequest request, HttpResponse response, Object prevFilterResult );

	/**
	 * 响应过滤器,在响应之后
	 * @param filterConfig 过滤器配置对象
	 * @param request  请求对象
	 * @param response 响应对象
	 * @param prevFilterResult 上一个过滤器的结果,可用来传递控制过滤器
	 * @return 本地过滤器的结果,用于传递到下一个过滤器的prevFilterResult参数
     */
	public Object onResponse(FilterConfig filterConfig, HttpRequest request, HttpResponse response, Object prevFilterResult);
}<commit_msg>1.抽离出内部类 FilterConfig 2.为 HttpRequest 增加 attribute 3.修改 HttpBizFilter 的方法,增加了返回值往复的传递机制,用于控制过滤去的状态<commit_after>package org.voovan.http.server;

import org.voovan.http.server.FilterConfig;

/**
 * Http 服务过滤器接口
 * @author helyho
 *
 * Voovan Framework.
 * WebSite: https://github.com/helyho/Voovan
 * Licence: Apache v2 License
 */
public interface HttpBizFilter {
	/**
	 * 请求过滤器,在请求之前
	 * @param filterConfig 过滤器配置对象
	 * @param request  请求对象
	 * @param response 响应对象
	 * @param prevFilterResult 上一个过滤器的结果,可用来传递状态参数,用于控制过滤器
	 * @return 本地过滤器的结果,用于传递到下一个过滤器的prevFilterResult参数
     */
	public Object onRequest(FilterConfig filterConfig, HttpRequest request, HttpResponse response, Object prevFilterResult );

	/**
	 * 响应过滤器,在响应之后
	 * @param filterConfig 过滤器配置对象
	 * @param request  请求对象
	 * @param response 响应对象
	 * @param prevFilterResult 上一个过滤器的结果,可用来传递状态参数,用于控制过滤器
	 * @return 本地过滤器的结果,用于传递到下一个过滤器的prevFilterResult参数
     */
	public Object onResponse(FilterConfig filterConfig, HttpRequest request, HttpResponse response, Object prevFilterResult);
}
{'fraction_non_alphanumeric': 0.08845577211394302, 'fraction_numerical': 0.0024987506246876563, 'mean_word_length': 4.8882352941176475, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '932874', 'n_tokens_mistral': 842, 'n_tokens_neox': 907, 'n_words': 146}