@@ -69,14 +69,15 @@ def _create_channel(self):
6969 def _create_queue (self ):
7070 if self .channel is not None :
7171 config_encoded = base64 .b64encode (json .dumps (self .config ).encode ('utf-8' )).decode ('utf-8' )
72- self .channel .queue_delete (self .queue_name )
73- self .channel .queue_declare (self .queue_name , durable = True , arguments = {'config' : config_encoded })
72+ check = self .channel .queue_declare (self .queue_name , durable = True , passive = True , arguments = {'config' : config_encoded })
73+ if not check :
74+ self .channel .queue_delete (self .queue_name )
75+ self .channel .queue_declare (self .queue_name , durable = True , arguments = {'config' : config_encoded })
7476 self .channel .queue_bind (queue = self .queue_name , exchange = EXCHANGE_NAME , routing_key = self .routing_key )
7577
7678 def _reconnect (self ):
7779 self .connection = self ._connect ()
7880 self .channel = self ._create_channel ()
79- self ._create_queue ()
8081
8182 def send_stix2_bundle (self , bundle , entities_types = []):
8283 bundles = self .split_stix2_bundle (bundle )
@@ -89,7 +90,7 @@ def _send_bundle(self, type, bundle, entities_types=[]):
8990 :param bundle: A valid STIX2 bundle
9091 :param entities_types: Entities types to ingest
9192 """
92- if not self .channel .is_open :
93+ if self . channel is None or not self .channel .is_open :
9394 self ._reconnect ()
9495
9596 # Validate the STIX 2 bundle
0 commit comments