How do I write this code in groovy: Also kindly share any material or tool that allows one to convert his java code to Groovy: @Component public class RequestResponseLoggingInterceptor implements ClientHttpRequestInterceptor { private final Logger log = LoggerFactory.getLogger(this.getClass()); private Tracer tracer; RequestResponseLoggingInterceptor(Tracer tracer){ this.tracer = tracer; } @Override public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { Span span = tracer.currentSpan(); HttpHeaders headers = new HttpHeaders(); headers.set("X-B3-Traceid", span.context().traceId()); headers.set("X-B3-SpanId", span.context().spanId()); headers.set("X-B3-ParentSpanId", span.context().parentId()); request.getHeaders().addAll(headers); ClientHttpResponse response = execution.execute(request, body); return response; } }

icon
Related questions
Question

How do I write this code in groovy: Also kindly share any material or tool that allows one to convert his java code to Groovy:

@Component
public class RequestResponseLoggingInterceptor implements ClientHttpRequestInterceptor {
private final Logger log = LoggerFactory.getLogger(this.getClass());

private Tracer tracer;
RequestResponseLoggingInterceptor(Tracer tracer){
this.tracer = tracer;
}

@Override public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {

Span span = tracer.currentSpan();
HttpHeaders headers = new HttpHeaders();
headers.set("X-B3-Traceid", span.context().traceId());
headers.set("X-B3-SpanId", span.context().spanId());
headers.set("X-B3-ParentSpanId", span.context().parentId());
request.getHeaders().addAll(headers);

ClientHttpResponse response = execution.execute(request, body);
return response;
}
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

I noticed that headers.set("traceId", span.context().traceId()) is returning an Error(No candidate found for method call).
Only setMetaClass is available in the list of options. 

headers.setMetaClass("traceId", span.context().traceId())
headers.setMetaClass("spanId", span.context().spanId())
Solution
Bartleby Expert
SEE SOLUTION
Follow-up Question

Do you suggest I add Brave to my dependency? I have added Sleuth, Zipkin and Kafka. 

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Unreferenced Objects
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.