Skip to content

Commit 79b5140

Browse files
authored
Extract common content length parsing code into method (#8884)
1 parent 11aba26 commit 79b5140

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

instrumentation/servlet/servlet-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v3_0/snippet/Servlet3SnippetInjectingResponseWrapper.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,19 +75,17 @@ public boolean containsHeader(String name) {
7575

7676
@Override
7777
public void setHeader(String name, String value) {
78-
// checking content-type is just an optimization to avoid unnecessary parsing
79-
if ("Content-Length".equalsIgnoreCase(name) && isContentTypeTextHtml()) {
80-
try {
81-
contentLength = Long.parseLong(value);
82-
} catch (NumberFormatException ex) {
83-
logger.log(FINE, "NumberFormatException", ex);
84-
}
85-
}
78+
handleHeader(name, value);
8679
super.setHeader(name, value);
8780
}
8881

8982
@Override
9083
public void addHeader(String name, String value) {
84+
handleHeader(name, value);
85+
super.addHeader(name, value);
86+
}
87+
88+
private void handleHeader(String name, String value) {
9189
// checking content-type is just an optimization to avoid unnecessary parsing
9290
if ("Content-Length".equalsIgnoreCase(name) && isContentTypeTextHtml()) {
9391
try {
@@ -96,7 +94,6 @@ public void addHeader(String name, String value) {
9694
logger.log(FINE, "Failed to parse the Content-Length header", ex);
9795
}
9896
}
99-
super.addHeader(name, value);
10097
}
10198

10299
@Override

instrumentation/servlet/servlet-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/servlet/v5_0/snippet/Servlet5SnippetInjectingResponseWrapper.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,19 +66,17 @@ public boolean containsHeader(String name) {
6666

6767
@Override
6868
public void setHeader(String name, String value) {
69-
// checking content-type is just an optimization to avoid unnecessary parsing
70-
if ("Content-Length".equalsIgnoreCase(name) && isContentTypeTextHtml()) {
71-
try {
72-
contentLength = Long.parseLong(value);
73-
} catch (NumberFormatException ex) {
74-
logger.log(FINE, "NumberFormatException", ex);
75-
}
76-
}
69+
handleHeader(name, value);
7770
super.setHeader(name, value);
7871
}
7972

8073
@Override
8174
public void addHeader(String name, String value) {
75+
handleHeader(name, value);
76+
super.addHeader(name, value);
77+
}
78+
79+
private void handleHeader(String name, String value) {
8280
// checking content-type is just an optimization to avoid unnecessary parsing
8381
if ("Content-Length".equalsIgnoreCase(name) && isContentTypeTextHtml()) {
8482
try {
@@ -87,7 +85,6 @@ public void addHeader(String name, String value) {
8785
logger.log(FINE, "Failed to parse the Content-Length header", ex);
8886
}
8987
}
90-
super.addHeader(name, value);
9188
}
9289

9390
@Override

0 commit comments

Comments
 (0)