Add HTTP status to ServletRequestHandledEvent
Issue: SPR-12119
This commit is contained in:
parent
5857cef026
commit
36542549fa
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2012 the original author or authors.
|
* Copyright 2002-2014 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +28,7 @@ package org.springframework.web.context.support;
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public class ServletRequestHandledEvent extends RequestHandledEvent {
|
public class ServletRequestHandledEvent extends RequestHandledEvent {
|
||||||
|
|
||||||
/** URL that the triggered the request */
|
/** URL that triggered the request */
|
||||||
private final String requestUrl;
|
private final String requestUrl;
|
||||||
|
|
||||||
/** IP address that the request came from */
|
/** IP address that the request came from */
|
||||||
|
@ -40,6 +40,9 @@ public class ServletRequestHandledEvent extends RequestHandledEvent {
|
||||||
/** Name of the servlet that handled the request */
|
/** Name of the servlet that handled the request */
|
||||||
private final String servletName;
|
private final String servletName;
|
||||||
|
|
||||||
|
/** HTTP status code of the response */
|
||||||
|
private final int statusCode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new ServletRequestHandledEvent.
|
* Create a new ServletRequestHandledEvent.
|
||||||
|
@ -62,6 +65,7 @@ public class ServletRequestHandledEvent extends RequestHandledEvent {
|
||||||
this.clientAddress = clientAddress;
|
this.clientAddress = clientAddress;
|
||||||
this.method = method;
|
this.method = method;
|
||||||
this.servletName = servletName;
|
this.servletName = servletName;
|
||||||
|
this.statusCode = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -86,6 +90,33 @@ public class ServletRequestHandledEvent extends RequestHandledEvent {
|
||||||
this.clientAddress = clientAddress;
|
this.clientAddress = clientAddress;
|
||||||
this.method = method;
|
this.method = method;
|
||||||
this.servletName = servletName;
|
this.servletName = servletName;
|
||||||
|
this.statusCode = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new ServletRequestHandledEvent.
|
||||||
|
* @param source the component that published the event
|
||||||
|
* @param requestUrl the URL of the request
|
||||||
|
* @param clientAddress the IP address that the request came from
|
||||||
|
* @param method the HTTP method of the request (usually GET or POST)
|
||||||
|
* @param servletName the name of the servlet that handled the request
|
||||||
|
* @param sessionId the id of the HTTP session, if any
|
||||||
|
* @param userName the name of the user that was associated with the
|
||||||
|
* request, if any (usually the UserPrincipal)
|
||||||
|
* @param processingTimeMillis the processing time of the request in milliseconds
|
||||||
|
* @param failureCause the cause of failure, if any
|
||||||
|
* @param statusCode the HTTP status code of the response
|
||||||
|
*/
|
||||||
|
public ServletRequestHandledEvent(Object source, String requestUrl,
|
||||||
|
String clientAddress, String method, String servletName, String sessionId,
|
||||||
|
String userName, long processingTimeMillis, Throwable failureCause, int statusCode) {
|
||||||
|
|
||||||
|
super(source, sessionId, userName, processingTimeMillis, failureCause);
|
||||||
|
this.requestUrl = requestUrl;
|
||||||
|
this.clientAddress = clientAddress;
|
||||||
|
this.method = method;
|
||||||
|
this.servletName = servletName;
|
||||||
|
this.statusCode = statusCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,6 +148,14 @@ public class ServletRequestHandledEvent extends RequestHandledEvent {
|
||||||
return this.servletName;
|
return this.servletName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the HTTP status code of the response or -1 if the status
|
||||||
|
* code is not available.
|
||||||
|
* @since 4.1
|
||||||
|
*/
|
||||||
|
public int getStatusCode() {
|
||||||
|
return this.statusCode;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getShortDescription() {
|
public String getShortDescription() {
|
||||||
|
|
|
@ -993,7 +993,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
publishRequestHandledEvent(request, startTime, failureCause);
|
publishRequestHandledEvent(request, response, startTime, failureCause);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1054,7 +1054,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void publishRequestHandledEvent(HttpServletRequest request, long startTime, Throwable failureCause) {
|
private void publishRequestHandledEvent(HttpServletRequest request, HttpServletResponse response, long startTime, Throwable failureCause) {
|
||||||
if (this.publishEvents) {
|
if (this.publishEvents) {
|
||||||
// Whether or not we succeeded, publish an event.
|
// Whether or not we succeeded, publish an event.
|
||||||
long processingTime = System.currentTimeMillis() - startTime;
|
long processingTime = System.currentTimeMillis() - startTime;
|
||||||
|
@ -1063,7 +1063,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
|
||||||
request.getRequestURI(), request.getRemoteAddr(),
|
request.getRequestURI(), request.getRemoteAddr(),
|
||||||
request.getMethod(), getServletConfig().getServletName(),
|
request.getMethod(), getServletConfig().getServletName(),
|
||||||
WebUtils.getSessionId(request), getUsernameForRequest(request),
|
WebUtils.getSessionId(request), getUsernameForRequest(request),
|
||||||
processingTime, failureCause));
|
processingTime, failureCause, response.getStatus()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue