
io.opentelemetry.javaagent.instrumentation.netty.v3_8.server.NettyHttpServerAttributesGetter Maven / Gradle / Ivy
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.netty.v3_8.server;
import static io.opentelemetry.javaagent.instrumentation.netty.v3_8.util.HttpSchemeUtil.getScheme;
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpServerAttributesGetter;
import io.opentelemetry.javaagent.instrumentation.netty.v3_8.HttpRequestAndChannel;
import java.util.List;
import javax.annotation.Nullable;
import org.jboss.netty.handler.codec.http.HttpResponse;
final class NettyHttpServerAttributesGetter
implements HttpServerAttributesGetter {
@Override
public String method(HttpRequestAndChannel requestAndChannel) {
return requestAndChannel.request().getMethod().getName();
}
@Override
public List requestHeader(HttpRequestAndChannel requestAndChannel, String name) {
return requestAndChannel.request().headers().getAll(name);
}
@Override
public Integer statusCode(
HttpRequestAndChannel requestAndChannel, HttpResponse response, @Nullable Throwable error) {
return response.getStatus().getCode();
}
@Override
public List responseHeader(
HttpRequestAndChannel requestAndChannel, HttpResponse response, String name) {
return response.headers().getAll(name);
}
@Override
public String flavor(HttpRequestAndChannel requestAndChannel) {
String flavor = requestAndChannel.request().getProtocolVersion().toString();
if (flavor.startsWith("HTTP/")) {
flavor = flavor.substring("HTTP/".length());
}
return flavor;
}
@Override
public String target(HttpRequestAndChannel requestAndChannel) {
return requestAndChannel.request().getUri();
}
@Override
@Nullable
public String route(HttpRequestAndChannel requestAndChannel) {
return null;
}
@Override
public String scheme(HttpRequestAndChannel requestAndChannel) {
return getScheme(requestAndChannel);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy