io.opentelemetry.javaagent.instrumentation.undertow.UndertowExchangeGetter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of opentelemetry-javaagent-undertow-1.4 Show documentation
Show all versions of opentelemetry-javaagent-undertow-1.4 Show documentation
Instrumentation of Java libraries using OpenTelemetry.
/*
* Copyright The OpenTelemetry Authors
* SPDX-License-Identifier: Apache-2.0
*/
package io.opentelemetry.javaagent.instrumentation.undertow;
import io.opentelemetry.context.propagation.TextMapGetter;
import io.undertow.server.HttpServerExchange;
import io.undertow.util.HttpString;
import java.util.stream.Collectors;
enum UndertowExchangeGetter implements TextMapGetter {
INSTANCE;
@Override
public Iterable keys(HttpServerExchange carrier) {
return carrier.getRequestHeaders().getHeaderNames().stream()
.map(HttpString::toString)
.collect(Collectors.toList());
}
@Override
public String get(HttpServerExchange carrier, String key) {
return carrier.getRequestHeaders().getFirst(key);
}
}