Skip to content

Commit 4ed2c42

Browse files
committed
Catch exception when reactor netty response is not available
1 parent c0db6ba commit 4ed2c42

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

instrumentation/reactor/reactor-netty/reactor-netty-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/reactornetty/v1_0/ReactorNettyHttpClientAttributesGetter.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55

66
package io.opentelemetry.javaagent.instrumentation.reactornetty.v1_0;
77

8+
import static java.util.Collections.emptyList;
9+
810
import io.netty.handler.codec.http.HttpVersion;
911
import io.opentelemetry.instrumentation.api.semconv.http.HttpClientAttributesGetter;
1012
import java.net.InetSocketAddress;
1113
import java.net.SocketAddress;
14+
import java.util.Collections;
1215
import java.util.List;
1316
import javax.annotation.Nullable;
1417
import reactor.netty.Connection;
@@ -30,19 +33,34 @@ public String getHttpRequestMethod(HttpClientRequest request) {
3033

3134
@Override
3235
public List<String> getHttpRequestHeader(HttpClientRequest request, String name) {
33-
return request.requestHeaders().getAll(name);
36+
try {
37+
return request.requestHeaders().getAll(name);
38+
} catch (IllegalStateException exception) {
39+
// response not available
40+
return emptyList();
41+
}
3442
}
3543

3644
@Override
3745
public Integer getHttpResponseStatusCode(
3846
HttpClientRequest request, HttpClientResponse response, @Nullable Throwable error) {
39-
return response.status().code();
47+
try {
48+
return response.status().code();
49+
} catch (IllegalStateException exception) {
50+
// response not available
51+
return null;
52+
}
4053
}
4154

4255
@Override
4356
public List<String> getHttpResponseHeader(
4457
HttpClientRequest request, HttpClientResponse response, String name) {
45-
return response.responseHeaders().getAll(name);
58+
try {
59+
return response.responseHeaders().getAll(name);
60+
} catch (IllegalStateException exception) {
61+
// response not available
62+
return emptyList();
63+
}
4664
}
4765

4866
@Nullable

0 commit comments

Comments
 (0)