From 05955d048380a44d72f09b9c2d3a960707011232 Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Tue, 9 Jun 2020 14:41:01 -0400 Subject: [PATCH] Check for null header values before trying to iterate through them. --- .../textsecuregcm/metrics/MetricsRequestEventListener.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsRequestEventListener.java b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsRequestEventListener.java index f5e3d4e2c..afa3cf232 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsRequestEventListener.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/metrics/MetricsRequestEventListener.java @@ -45,11 +45,8 @@ class MetricsRequestEventListener implements RequestEventListener { tags.add(Tag.of(STATUS_CODE_TAG, String.valueOf(event.getContainerResponse().getStatus()))); tags.add(Tag.of(TRAFFIC_SOURCE_TAG, trafficSource.name().toLowerCase())); - event.getContainerRequest().getRequestHeader("User-Agent") - .stream() - .findFirst() - .map(UserAgentTagUtil::getUserAgentTags) - .ifPresent(tags::addAll); + final List userAgentValues = event.getContainerRequest().getRequestHeader("User-Agent"); + tags.addAll(UserAgentTagUtil.getUserAgentTags(userAgentValues != null ? userAgentValues.stream().findFirst().orElse(null) : null)); meterRegistry.counter(COUNTER_NAME, tags).increment(); }