Skip to content

Commit 3911256

Browse files
committed
Add Endpoint route in Servlet-3.0 Framework
1 parent 0576b23 commit 3911256

File tree

4 files changed

+15
-9
lines changed

4 files changed

+15
-9
lines changed

instrumentation-security/servlet-2.4/src/main/java/javax/servlet/FilterChain_Instrumentation.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,6 @@ private void preprocessSecurityHook(ServletRequest request, ServletResponse resp
6565
securityAgentMetaData.getIps().add(securityRequest.getClientIP());
6666
securityRequest.setClientPort(String.valueOf(httpServletRequest.getRemotePort()));
6767
}
68-
// route detection
69-
securityAgentMetaData.setFramework(Framework.SERVLET);
70-
securityRequest.setRoute(httpServletRequest.getServletPath());
7168

7269
HttpServletHelper.processHttpRequestHeader(httpServletRequest, securityRequest);
7370

instrumentation-security/servlet-2.4/src/main/java/javax/servlet/Filter_Instrumentation.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ private void preprocessSecurityHook(ServletRequest request, ServletResponse resp
6767
securityAgentMetaData.getIps().add(securityRequest.getClientIP());
6868
securityRequest.setClientPort(String.valueOf(httpServletRequest.getRemotePort()));
6969
}
70-
// route detection
71-
securityAgentMetaData.setFramework(Framework.SERVLET);
72-
securityRequest.setRoute(httpServletRequest.getServletPath());
7370

7471
HttpServletHelper.processHttpRequestHeader(httpServletRequest, securityRequest);
7572

instrumentation-security/servlet-2.4/src/main/java/javax/servlet/Servlet_Instrumentation.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,6 @@ private void preprocessSecurityHook(ServletRequest_Instrumentation request, Serv
7171
securityAgentMetaData.getIps().add(securityRequest.getClientIP());
7272
securityRequest.setClientPort(String.valueOf(httpServletRequest.getRemotePort()));
7373
}
74-
// route detection
75-
securityAgentMetaData.setFramework(Framework.SERVLET);
76-
securityRequest.setRoute(httpServletRequest.getServletPath());
7774

7875
HttpServletHelper.processHttpRequestHeader(httpServletRequest, securityRequest);
7976

instrumentation-security/servlet-3.0/src/main/java/com/newrelic/agent/security/instrumentation/servlet30/HttpServletHelper.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,17 @@
44
import com.newrelic.api.agent.security.NewRelicSecurity;
55
import com.newrelic.api.agent.security.instrumentation.helpers.GenericHelper;
66
import com.newrelic.api.agent.security.instrumentation.helpers.URLMappingsHelper;
7+
import com.newrelic.api.agent.security.schema.AgentMetaData;
78
import com.newrelic.api.agent.security.schema.ApplicationURLMapping;
9+
import com.newrelic.api.agent.security.schema.Framework;
10+
import com.newrelic.api.agent.security.schema.HttpRequest;
811
import com.newrelic.api.agent.security.utils.logging.LogLevel;
912

1013
import javax.servlet.ServletContext;
1114
import javax.servlet.ServletRegistration;
15+
import javax.servlet.http.HttpServletMapping;
16+
import javax.servlet.http.HttpServletRequest;
17+
import javax.servlet.http.MappingMatch;
1218
import java.util.Collection;
1319
import java.util.Map;
1420

@@ -48,4 +54,13 @@ else if(path.endsWith(".jsp") || path.endsWith(".jspx") || path.endsWith(".JSP")
4854
NewRelicSecurity.getAgent().log(LogLevel.WARNING, String.format(GenericHelper.ERROR_WHILE_GETTING_APP_ENDPOINTS, SERVLET_3_0, e.getMessage()), e, HttpServletHelper.class.getName());
4955
}
5056
}
57+
public static void setRoute(HttpServletRequest request, HttpRequest securityRequest, AgentMetaData metaData){
58+
HttpServletMapping mapping = request.getHttpServletMapping();
59+
if (!mapping.getMappingMatch().equals(MappingMatch.EXTENSION)){
60+
securityRequest.setRoute(mapping.getPattern());
61+
} else {
62+
securityRequest.setRoute(request.getServletPath());
63+
}
64+
metaData.setFramework(Framework.SERVLET);
65+
}
5166
}

0 commit comments

Comments
 (0)