All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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