diff --git a/CHANGELOG.md b/CHANGELOG.md index 08b123e..6e0b734 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,7 @@ ## 1.6.x +### 1.6.3 +#### Bugfix +* Fix overwriting of certego field ### 1.6.2 #### Bugfix * Added filter in routing_filter @@ -22,7 +25,7 @@ * Added routing history and loop protection in rule parsing ## 1.4.x -### 1.4.1 +### 1.4.1+ #### Bugfix * Updated *setup.py* to include new dependency *macaddress* ### 1.4.0 diff --git a/routingfilter/routing.py b/routingfilter/routing.py index d31e65e..2ec5b3f 100644 --- a/routingfilter/routing.py +++ b/routingfilter/routing.py @@ -36,8 +36,12 @@ def match(self, event: dict, type_: str = "streams", tag_field_name: str = "tags :return: A list of dicts containing the matched rules and the outputs in the following format: {"rules": [...], "output": {...}}; an empty list if no rule matched :rtype: List[dict] """ - if not event.get("certego", {}).get("routing_history", {}): - event["certego"] = {"routing_history": {}} + # Creating routing_history if not present + if "certego" not in event: + event["certego"] = {} + if "routing_history" not in event["certego"]: + event["certego"]["routing_history"] = {} + # check for rules if not self.rules: self.logger.error("'rules_list' must be set before evaluating a match!") raise ValueError("'rules_list' must be set before evaluating a match!")