package org.voovan.test.http;
import org.voovan.http.server.HttpFilter;
import org.voovan.http.server.HttpRequest;
import org.voovan.http.server.HttpResponse;
import org.voovan.http.server.context.HttpFilterConfig;
import org.voovan.tools.log.Logger;
import java.util.Map.Entry;
public class HttpFilterTest implements HttpFilter {
@Override
public Object onRequest(HttpFilterConfig filterConfig, HttpRequest request, HttpResponse response, Object prevFilterResult ) {
String msg = "["+filterConfig.getName()+"] ";
for(Entry<String, Object> entry : filterConfig.getParameters().entrySet()){
msg+=entry.getKey()+" = "+entry.getValue()+", ";
}
msg = msg + "RequestPath=" + request.protocol().getPath();
if(prevFilterResult == null){
// request.redirect("/img/logo.jpg"); //转向请求用于拦截非法请求并志向其他
prevFilterResult = 1;
}else{
prevFilterResult = (int)prevFilterResult+1;
}
Logger.simple("ON_REQUEST: "+msg+",filter sequence:"+prevFilterResult);
return prevFilterResult;
}
@Override
public Object onResponse(HttpFilterConfig filterConfig, HttpRequest request, HttpResponse response, Object prevFilterResult ) {
String msg = "["+filterConfig.getName()+"] ";
for(Entry<String, Object> entry : filterConfig.getParameters().entrySet()){
msg+=entry.getKey()+" = "+entry.getValue()+", ";
}
msg = msg + "RequestPath=" + request.protocol().getPath();
if(prevFilterResult == null){
prevFilterResult = 1;
}else{
prevFilterResult = (int)prevFilterResult+1;
}
Logger.simple("ON_RESPONSE: "+msg+" ,filter sequence:"+prevFilterResult);
return prevFilterResult;
}
}