| 
9 | 9 | import com.dotcms.jitsu.EventsPayload.EventPayload;  | 
10 | 10 | import com.dotmarketing.beans.Host;  | 
11 | 11 | import com.dotmarketing.util.Logger;  | 
 | 12 | +import com.dotmarketing.util.UtilMethods;  | 
12 | 13 | import com.dotmarketing.util.json.JSONObject;  | 
13 | 14 | import com.google.common.annotations.VisibleForTesting;  | 
14 | 15 | import com.google.common.collect.ImmutableMap;  | 
15 | 16 | import io.vavr.control.Try;  | 
16 | 17 | import org.apache.commons.lang3.StringUtils;  | 
 | 18 | +import org.apache.http.Header;  | 
17 | 19 | import org.apache.http.HttpStatus;  | 
18 | 20 | 
 
  | 
19 | 21 | import javax.ws.rs.core.HttpHeaders;  | 
@@ -127,9 +129,16 @@ private CircuitBreakerUrlBuilder getCircuitBreakerUrlBuilder(String url) {  | 
127 | 129 | 
 
  | 
128 | 130 | 
 
  | 
129 | 131 |     public Optional<Response<String>> sendEvent(final CircuitBreakerUrlBuilder builder, final EventPayload payload) {  | 
130 |  | -        final CircuitBreakerUrl postLog = builder  | 
131 |  | -                .setRawData(payload.toString())  | 
132 |  | -                .build();  | 
 | 132 | +        final String userAgent = payload.contains(ValidAnalyticsEventPayloadAttributes.USER_AGENT_ATTRIBUTE_NAME) ?  | 
 | 133 | +                payload.get(ValidAnalyticsEventPayloadAttributes.USER_AGENT_ATTRIBUTE_NAME).toString() : null;  | 
 | 134 | + | 
 | 135 | +        final CircuitBreakerUrlBuilder circuitBreakerUrlBuilder = builder.setRawData(payload.toString());  | 
 | 136 | + | 
 | 137 | +        if (UtilMethods.isSet(userAgent)) {  | 
 | 138 | +            circuitBreakerUrlBuilder.setHeaders(Map.of(HttpHeaders.USER_AGENT, userAgent));  | 
 | 139 | +        }  | 
 | 140 | + | 
 | 141 | +        final CircuitBreakerUrl postLog = circuitBreakerUrlBuilder.build();  | 
133 | 142 | 
 
  | 
134 | 143 |         return Optional.ofNullable(  | 
135 | 144 |                         Try.of(postLog::doResponse)  | 
 | 
0 commit comments