Skip to content

Commit 10ef0a0

Browse files
committed
review
1 parent 5a71d1f commit 10ef0a0

4 files changed

Lines changed: 24 additions & 0 deletions

File tree

  • instrumentation
    • servlet
      • servlet-3.0/testing/src/main/java/io/opentelemetry/instrumentation/servlet/v3_0
      • servlet-5.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0
    • tomcat
      • tomcat-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/tomcat/v10_0
      • tomcat-7.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/tomcat/v7_0

instrumentation/servlet/servlet-3.0/testing/src/main/java/io/opentelemetry/instrumentation/servlet/v3_0/TestServlet3.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,12 @@ protected void service(HttpServletRequest req, HttpServletResponse resp) {
157157
context.complete();
158158
} else if (EXCEPTION.equals(endpoint)) {
159159
resp.setStatus(endpoint.getStatus());
160+
if (req.getClass().getName().contains("catalina") && !testLatestDeps()) {
161+
// Set Content-Length so the response is self-delimiting; combined with
162+
// the writer.close() below, this lets the client read a complete 500
163+
// response on older Tomcat before the post-throw connection reset.
164+
resp.setContentLength(endpoint.getBody().length());
165+
}
160166
PrintWriter writer = resp.getWriter();
161167
writer.print(endpoint.getBody());
162168
if (req.getClass().getName().contains("catalina") && !testLatestDeps()) {

instrumentation/servlet/servlet-5.0/testing/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/TestServlet5.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ protected void service(HttpServletRequest req, HttpServletResponse resp) {
156156
} else if (EXCEPTION.equals(endpoint)) {
157157
resp.setStatus(endpoint.getStatus());
158158
if (isOldTomcat(req)) {
159+
// Set Content-Length so the response is self-delimiting; combined with
160+
// the writer.close() below, this lets the client read a complete 500
161+
// response on older Tomcat before the post-throw connection reset.
159162
resp.setContentLength(endpoint.getBody().length());
160163
}
161164
PrintWriter writer = resp.getWriter();
@@ -240,6 +243,9 @@ protected void service(HttpServletRequest req, HttpServletResponse resp) throws
240243
} else if (EXCEPTION.equals(endpoint)) {
241244
resp.setStatus(endpoint.getStatus());
242245
if (isOldTomcat(req)) {
246+
// Set Content-Length so the response is self-delimiting; combined with the
247+
// writer.close() below, this lets the client read a complete 500 response on
248+
// older Tomcat before the post-throw connection reset.
243249
resp.setContentLength(endpoint.getBody().length());
244250
}
245251
PrintWriter writer = resp.getWriter();

instrumentation/tomcat/tomcat-10.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/tomcat/v10_0/AsyncServlet.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@ protected void service(HttpServletRequest req, HttpServletResponse resp) {
6060
resp.getWriter().print(endpoint.getBody());
6161
} else if (endpoint.equals(EXCEPTION)) {
6262
resp.setStatus(endpoint.getStatus());
63+
if (!testLatestDeps()) {
64+
// Set Content-Length so the response is self-delimiting; combined with
65+
// the writer.close() below, this lets the client read a complete 500
66+
// response on older Tomcat before the post-throw connection reset.
67+
resp.setContentLength(endpoint.getBody().length());
68+
}
6369
PrintWriter writer = resp.getWriter();
6470
writer.print(endpoint.getBody());
6571
if (!testLatestDeps()) {

instrumentation/tomcat/tomcat-7.0/javaagent/src/test/java/io/opentelemetry/javaagent/instrumentation/tomcat/v7_0/AsyncServlet.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ protected void service(HttpServletRequest req, HttpServletResponse resp) {
5959
resp.getWriter().print(endpoint.getBody());
6060
} else if (endpoint.equals(EXCEPTION)) {
6161
resp.setStatus(endpoint.getStatus());
62+
if (!testLatestDeps()) {
63+
// Set Content-Length so the response is self-delimiting; combined with
64+
// the writer.close() below, this lets the client read a complete 500
65+
// response on older Tomcat before the post-throw connection reset.
66+
resp.setContentLength(endpoint.getBody().length());
67+
}
6268
PrintWriter writer = resp.getWriter();
6369
writer.print(endpoint.getBody());
6470
if (!testLatestDeps()) {

0 commit comments

Comments
 (0)