
club.zhcs.lina.trace.client.RestTemplateTraceIdInterceptor Maven / Gradle / Ivy
The newest version!
package club.zhcs.lina.trace.client;
import java.io.IOException;
import org.slf4j.MDC;
import org.springframework.http.HttpRequest;
import org.springframework.http.client.ClientHttpRequestExecution;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.lang.NonNull;
import club.zhcs.lina.trace.Constants;
public class RestTemplateTraceIdInterceptor implements ClientHttpRequestInterceptor {
@Override
public @NonNull ClientHttpResponse intercept(@NonNull HttpRequest request, @NonNull byte[] body, @NonNull ClientHttpRequestExecution execution)
throws IOException {
String traceId = MDC.get(Constants.TRACE_ID);
if (traceId != null) {
request.getHeaders().add(Constants.TRACE_ID, traceId);
}
return execution.execute(request, body);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy