package com.baiyue.eventbridge.trace; import com.baiyue.common.web.CorrelationContext; import com.baiyue.common.web.OutboundTraceHeaders; import org.springframework.stereotype.Component; import java.net.http.HttpRequest; /** Applies a fresh child span to one raw JDK HttpClient request. */ @Component public class EventBridgeHttpTracePropagation { public HttpRequest.Builder apply(HttpRequest.Builder builder) { OutboundTraceHeaders outbound = OutboundTraceHeaders.fromCurrentOrNew(); return builder .setHeader(CorrelationContext.REQUEST_ID_HEADER, outbound.requestId()) .setHeader(CorrelationContext.TRACE_ID_HEADER, outbound.traceId()) .setHeader(CorrelationContext.TRACE_PARENT_HEADER, outbound.traceParent()); } }