| | |
| | | package com.java110.core.trace; |
| | | |
| | | import com.java110.core.factory.Java110TraceFactory; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import com.java110.dto.trace.TraceAnnotationsDto; |
| | | import com.java110.dto.trace.TraceDto; |
| | | import com.java110.utils.constant.CommonConstant; |
| | | import okhttp3.Interceptor; |
| | | import okhttp3.Request; |
| | | import okhttp3.Response; |
| | | import org.slf4j.Logger; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.io.IOException; |
| | | |
| | |
| | | |
| | | @Override |
| | | public Response intercept(Chain chain) throws IOException { |
| | | Request request = chain.request(); |
| | | // Request request = chain.request(); |
| | | |
| | | //before , request.body() |
| | | Request.Builder builder = chain.request().newBuilder(); |
| | | //调用链头信息 |
| | | TraceDto traceDto = Java110TraceFactory.getTraceDto(); |
| | | if (traceDto != null) { |
| | | builder.header(CommonConstant.TRACE_ID, traceDto.getTraceId()); |
| | | builder.header(CommonConstant.PARENT_SPAN_ID, traceDto.getId()); |
| | | } |
| | | logger.debug("feign 进入 Java110FeignClientAop>> intercept"); |
| | | Java110TraceFactory.putAnnotations(TraceAnnotationsDto.VALUE_SERVER_SEND); |
| | | try { |
| | | Response response = chain.proceed(request); |
| | | Response response = chain.proceed(builder.build()); |
| | | //after |
| | | return response; |
| | | } catch (Exception e) { |