A little bit of java 8 cleanup in the W3C integration test (#3078)
This commit is contained in:
parent
11fcc29b0a
commit
c667636643
|
|
@ -12,7 +12,6 @@ import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
|
|||
import io.opentelemetry.context.Context;
|
||||
import io.opentelemetry.context.propagation.ContextPropagators;
|
||||
import io.opentelemetry.context.propagation.TextMapGetter;
|
||||
import io.opentelemetry.context.propagation.TextMapSetter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Enumeration;
|
||||
|
|
@ -23,9 +22,6 @@ import javax.servlet.http.HttpServletRequest;
|
|||
import okhttp3.MediaType;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.RequestBody;
|
||||
import spark.Request;
|
||||
import spark.Response;
|
||||
import spark.Route;
|
||||
import spark.Spark;
|
||||
|
||||
public final class Application {
|
||||
|
|
@ -45,101 +41,90 @@ public final class Application {
|
|||
Spark.port(5000);
|
||||
Spark.post(
|
||||
"verify-tracecontext",
|
||||
new Route() {
|
||||
@Override
|
||||
public Object handle(Request request, Response response) {
|
||||
final Gson gson = new Gson();
|
||||
(request, response) -> {
|
||||
final Gson gson = new Gson();
|
||||
|
||||
final io.opentelemetry.Request[] requests =
|
||||
gson.fromJson(request.body(), io.opentelemetry.Request[].class);
|
||||
final io.opentelemetry.Request[] requests =
|
||||
gson.fromJson(request.body(), io.opentelemetry.Request[].class);
|
||||
|
||||
Context context =
|
||||
openTelemetry
|
||||
.getPropagators()
|
||||
.getTextMapPropagator()
|
||||
.extract(
|
||||
Context.current(),
|
||||
request.raw(),
|
||||
new TextMapGetter<HttpServletRequest>() {
|
||||
@Override
|
||||
public Iterable<String> keys(HttpServletRequest carrier) {
|
||||
return Collections.list(carrier.getHeaderNames());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String get(HttpServletRequest carrier, String key) {
|
||||
Enumeration<String> headers = carrier.getHeaders(key);
|
||||
if (headers == null || !headers.hasMoreElements()) {
|
||||
return null;
|
||||
}
|
||||
List<String> values = new ArrayList<>();
|
||||
while (headers.hasMoreElements()) {
|
||||
String nextElement = headers.nextElement();
|
||||
if (!nextElement.trim().isEmpty()) {
|
||||
values.add(nextElement);
|
||||
}
|
||||
}
|
||||
if (values.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
if (values.size() == 1) {
|
||||
return values.get(0);
|
||||
}
|
||||
StringBuilder builder = new StringBuilder(values.get(0));
|
||||
for (int i = 1; i < values.size(); i++) {
|
||||
builder.append(",").append(values.get(i));
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
});
|
||||
|
||||
for (io.opentelemetry.Request req : requests) {
|
||||
Span span =
|
||||
openTelemetry
|
||||
.getTracer("validation-server")
|
||||
.spanBuilder("Entering Validation Server")
|
||||
.setParent(context)
|
||||
.startSpan();
|
||||
|
||||
Context withSpanContext = context.with(span);
|
||||
|
||||
// Make a new request using the builder
|
||||
okhttp3.Request.Builder reqBuilder = new okhttp3.Request.Builder();
|
||||
|
||||
// Inject the current context into the new request.
|
||||
Context context =
|
||||
openTelemetry
|
||||
.getPropagators()
|
||||
.getTextMapPropagator()
|
||||
.inject(
|
||||
withSpanContext,
|
||||
reqBuilder,
|
||||
new TextMapSetter<okhttp3.Request.Builder>() {
|
||||
.extract(
|
||||
Context.current(),
|
||||
request.raw(),
|
||||
new TextMapGetter<HttpServletRequest>() {
|
||||
@Override
|
||||
public void set(okhttp3.Request.Builder carrier, String key, String value) {
|
||||
carrier.addHeader(key, value);
|
||||
public Iterable<String> keys(HttpServletRequest carrier) {
|
||||
return Collections.list(carrier.getHeaderNames());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String get(HttpServletRequest carrier, String key) {
|
||||
Enumeration<String> headers = carrier.getHeaders(key);
|
||||
if (headers == null || !headers.hasMoreElements()) {
|
||||
return null;
|
||||
}
|
||||
List<String> values = new ArrayList<>();
|
||||
while (headers.hasMoreElements()) {
|
||||
String nextElement = headers.nextElement();
|
||||
if (!nextElement.trim().isEmpty()) {
|
||||
values.add(nextElement);
|
||||
}
|
||||
}
|
||||
if (values.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
if (values.size() == 1) {
|
||||
return values.get(0);
|
||||
}
|
||||
StringBuilder builder = new StringBuilder(values.get(0));
|
||||
for (int i = 1; i < values.size(); i++) {
|
||||
builder.append(",").append(values.get(i));
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
});
|
||||
|
||||
// Add the post body and build the request
|
||||
String argumentsJson = gson.toJson(req.getArguments());
|
||||
RequestBody argumentsBody =
|
||||
RequestBody.create(
|
||||
argumentsJson, MediaType.parse("application/json; charset=utf-8"));
|
||||
okhttp3.Request newRequest = reqBuilder.url(req.getUrl()).post(argumentsBody).build();
|
||||
for (io.opentelemetry.Request req : requests) {
|
||||
Span span =
|
||||
openTelemetry
|
||||
.getTracer("validation-server")
|
||||
.spanBuilder("Entering Validation Server")
|
||||
.setParent(context)
|
||||
.startSpan();
|
||||
|
||||
// Execute the request
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
try (okhttp3.Response res = client.newCall(newRequest).execute()) {
|
||||
logger.info("response: " + res.code());
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "failed to send", e);
|
||||
}
|
||||
span.end();
|
||||
Context withSpanContext = context.with(span);
|
||||
|
||||
// Make a new request using the builder
|
||||
okhttp3.Request.Builder reqBuilder = new okhttp3.Request.Builder();
|
||||
|
||||
// Inject the current context into the new request.
|
||||
openTelemetry
|
||||
.getPropagators()
|
||||
.getTextMapPropagator()
|
||||
.inject(withSpanContext, reqBuilder, okhttp3.Request.Builder::addHeader);
|
||||
|
||||
// Add the post body and build the request
|
||||
String argumentsJson = gson.toJson(req.getArguments());
|
||||
RequestBody argumentsBody =
|
||||
RequestBody.create(
|
||||
argumentsJson, MediaType.parse("application/json; charset=utf-8"));
|
||||
okhttp3.Request newRequest = reqBuilder.url(req.getUrl()).post(argumentsBody).build();
|
||||
|
||||
// Execute the request
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
try (okhttp3.Response res = client.newCall(newRequest).execute()) {
|
||||
logger.info("response: " + res.code());
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.SEVERE, "failed to send", e);
|
||||
}
|
||||
|
||||
return "Done";
|
||||
span.end();
|
||||
}
|
||||
|
||||
return "Done";
|
||||
});
|
||||
|
||||
Spark.awaitInitialization();
|
||||
|
|
|
|||
Loading…
Reference in New Issue