Skip to content

Commit 3aace99

Browse files
authored
Include the user_agent as a header when send the events to Jitsu (dotCMS#32560)
### Proposed Changes * Send the user_agent inside the Jitsu Event header
1 parent b5fd6d9 commit 3aace99

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

dotCMS/src/main/java/com/dotcms/jitsu/EventLogRunnable.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
import com.dotcms.jitsu.EventsPayload.EventPayload;
1010
import com.dotmarketing.beans.Host;
1111
import com.dotmarketing.util.Logger;
12+
import com.dotmarketing.util.UtilMethods;
1213
import com.dotmarketing.util.json.JSONObject;
1314
import com.google.common.annotations.VisibleForTesting;
1415
import com.google.common.collect.ImmutableMap;
1516
import io.vavr.control.Try;
1617
import org.apache.commons.lang3.StringUtils;
18+
import org.apache.http.Header;
1719
import org.apache.http.HttpStatus;
1820

1921
import javax.ws.rs.core.HttpHeaders;
@@ -127,9 +129,16 @@ private CircuitBreakerUrlBuilder getCircuitBreakerUrlBuilder(String url) {
127129

128130

129131
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();
133142

134143
return Optional.ofNullable(
135144
Try.of(postLog::doResponse)

dotCMS/src/main/java/com/dotcms/jitsu/EventsPayload.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ public String toString() {
4444
public Object get(String key) {
4545
return jsonObject.get(key);
4646
}
47+
public Object remove(String key) {
48+
return jsonObject.remove(key);
49+
}
50+
51+
public boolean contains(String key) {
52+
return jsonObject.containsKey(key);
53+
}
4754
}
4855

4956
}

0 commit comments

Comments
 (0)