- Fix str | bytes union type handling in http_request executor - Add type guard for boolean filter value in list_operator nodetags/2.0.0-beta.2^2
| @@ -421,7 +421,10 @@ class Executor: | |||
| body_string += f"--{boundary}--\r\n" | |||
| elif self.node_data.body: | |||
| if self.content: | |||
| body_string = self.content.decode("utf-8", errors="replace") | |||
| if isinstance(self.content, bytes): | |||
| body_string = self.content.decode("utf-8", errors="replace") | |||
| else: | |||
| body_string = self.content | |||
| elif self.data and self.node_data.body.type == "x-www-form-urlencoded": | |||
| body_string = urlencode(self.data) | |||
| elif self.data and self.node_data.body.type == "form-data": | |||
| @@ -171,6 +171,8 @@ class ListOperatorNode(Node): | |||
| result = list(filter(filter_func, variable.value)) | |||
| variable = variable.model_copy(update={"value": result}) | |||
| else: | |||
| if not isinstance(condition.value, bool): | |||
| raise ValueError(f"Boolean filter expects a boolean value, got {type(condition.value)}") | |||
| filter_func = _get_boolean_filter_func(condition=condition.comparison_operator, value=condition.value) | |||
| result = list(filter(filter_func, variable.value)) | |||
| variable = variable.model_copy(update={"value": result}) | |||