Skip to content

Commit 4e4bd11

Browse files
committed
Conserve precious characters
1 parent 63f06eb commit 4e4bd11

File tree

1 file changed

+23
-22
lines changed
  • modules/ingest-common/src/main/java/org/elasticsearch/ingest/common

1 file changed

+23
-22
lines changed

modules/ingest-common/src/main/java/org/elasticsearch/ingest/common/CefParser.java

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -257,53 +257,54 @@ final class CefParser {
257257
);
258258

259259
CEFEvent process(String cefString) {
260-
List<String> headerFields = new ArrayList<>();
261-
Matcher headerMatcher = HEADER_NEXT_FIELD_PATTERN.matcher(cefString);
260+
List<String> headers = new ArrayList<>();
261+
Matcher matcher = HEADER_NEXT_FIELD_PATTERN.matcher(cefString);
262262
int extensionStart = 0;
263263

264-
for (int i = 0; i < 7 && headerMatcher.find(); i++) {
265-
String field = headerMatcher.group(1);
264+
for (int i = 0; i < 7 && matcher.find(); i++) {
265+
String field = matcher.group(1);
266266
field = HEADER_ESCAPE_CAPTURE.matcher(field).replaceAll("$1");
267-
headerFields.add(field);
268-
extensionStart = headerMatcher.end();
267+
headers.add(field);
268+
extensionStart = matcher.end();
269269
}
270270

271-
if (headerFields.isEmpty() == false && headerFields.getFirst().startsWith("CEF:")) {
271+
if (headers.isEmpty() == false && headers.getFirst().startsWith("CEF:")) {
272272
CEFEvent event = new CEFEvent();
273273
// Add error message if there are not enough header fields
274-
if (headerFields.size() != 7) {
274+
if (headers.size() != 7) {
275275
event.addRootMapping("error.message", new HashSet<>(ERROR_MESSAGE_INCOMPLETE_CEF_HEADER));
276276
}
277-
processHeaderFields(headerFields, event);
277+
processHeaders(headers, event);
278278
processExtensions(cefString, extensionStart, event);
279279
return event;
280280
} else {
281281
throw new IllegalArgumentException("Invalid CEF format");
282282
}
283283
}
284284

285-
private static void processHeaderFields(List<String> headerFields, CEFEvent event) {
286-
for (int i = 0; i < headerFields.size(); i++) {
285+
private static void processHeaders(List<String> headers, CEFEvent event) {
286+
for (int i = 0; i < headers.size(); i++) {
287+
final String value = headers.get(i);
287288
switch (i) {
288-
case 0 -> event.addCefMapping("version", headerFields.get(0).substring(4));
289+
case 0 -> event.addCefMapping("version", value.substring(4));
289290
case 1 -> {
290-
event.addCefMapping("device.vendor", headerFields.get(1));
291-
event.addRootMapping("observer.vendor", headerFields.get(1));
291+
event.addCefMapping("device.vendor", value);
292+
event.addRootMapping("observer.vendor", value);
292293
}
293294
case 2 -> {
294-
event.addCefMapping("device.product", headerFields.get(2));
295-
event.addRootMapping("observer.product", headerFields.get(2));
295+
event.addCefMapping("device.product", value);
296+
event.addRootMapping("observer.product", value);
296297
}
297298
case 3 -> {
298-
event.addCefMapping("device.version", headerFields.get(3));
299-
event.addRootMapping("observer.version", headerFields.get(3));
299+
event.addCefMapping("device.version", value);
300+
event.addRootMapping("observer.version", value);
300301
}
301302
case 4 -> {
302-
event.addCefMapping("device.event_class_id", headerFields.get(4));
303-
event.addRootMapping("event.code", headerFields.get(4));
303+
event.addCefMapping("device.event_class_id", value);
304+
event.addRootMapping("event.code", value);
304305
}
305-
case 5 -> event.addCefMapping("name", headerFields.get(5));
306-
case 6 -> event.addCefMapping("severity", headerFields.get(6));
306+
case 5 -> event.addCefMapping("name", value);
307+
case 6 -> event.addCefMapping("severity", value);
307308
}
308309
}
309310
}

0 commit comments

Comments
 (0)