
clime.messadmin.model.Request Maven / Gradle / Ivy
The newest version!
/**
*
*/
package clime.messadmin.model;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import clime.messadmin.filter.MessAdminRequestWrapper;
import clime.messadmin.filter.MessAdminResponseWrapper;
import clime.messadmin.filter.MessAdminThreadLocal;
/**
* @author Cédrik LIME
*/
public class Request {
/**
*
*/
public Request(String url) {
super();
}
private void hit(final RequestInfo requestInfo, int duration) {
//++requestInfo.hits;
requestInfo.usedTime.registerValue(duration);
}
private void addRequestLength(final RequestInfo requestInfo, final MessAdminRequestWrapper request) {
if (-1 != request.getContentLength()) {
requestInfo.requestLength.registerValue(request.getContentLength());
} else if (-1 != request.getRequestLength()) {
requestInfo.requestLength.registerValue(request.getRequestLength());
} else {
requestInfo.requestLength.hit();
}
}
private void addResponseLength(final RequestInfo requestInfo, final MessAdminResponseWrapper response) {
if (-1 != response.getContentLength()) {
requestInfo.responseLength.registerValue(response.getContentLength());
} else if (-1 != response.getResponseLength()) {
requestInfo.responseLength.registerValue(response.getResponseLength());
} else {
requestInfo.responseLength.hit();
}
}
/*****************************************/
/** Request/Response Listener methods **/
/*****************************************/
/**
* @see IRequestListener#requestInitialized(HttpServletRequest, ServletContext)
*/
public void requestInitialized(final RequestInfo requestInfo, HttpServletRequest request,
ServletContext servletContext) {
requestInfo.lastRequestDate = MessAdminThreadLocal.getStartTime().getTime();
}
/**
* @see IRequestListener#requestDestroyed(MessAdminRequestWrapper, MessAdminResponseWrapper, ServletContext)
*/
public void requestDestroyed(final RequestInfo requestInfo, MessAdminRequestWrapper request,
MessAdminResponseWrapper response, ServletContext servletContext) {
requestInfo.lastResponseDate = MessAdminThreadLocal.getStopTime().getTime();
requestInfo.lastResponseStatus = response.getStatus();
++requestInfo.responseStatus[(response.getStatus()/100)];
//requestInfo.responseStatus[(response.getStatus()/100)].hit(lastResponseDate);
addRequestLength(requestInfo, request);
addResponseLength(requestInfo, response);
int lastUsedTime = MessAdminThreadLocal.getUsedTime();
hit(requestInfo, lastUsedTime);
}
/**
* @see IRequestListener#requestException(Exception, MessAdminRequestWrapper, MessAdminResponseWrapper, ServletContext)
*/
public void requestException(final RequestInfo requestInfo, Exception e, MessAdminRequestWrapper request, MessAdminResponseWrapper response, ServletContext servletContext) {
requestDestroyed(requestInfo, request, response, servletContext);
++requestInfo.nErrors;
requestInfo.lastError = new ErrorData(request, e);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy