fixed an issue in exception handling
authoritraviv <[email protected]>
Mon, 15 Aug 2016 15:15:45 +0000 (18:15 +0300)
committeritraviv <[email protected]>
Mon, 15 Aug 2016 15:15:45 +0000 (18:15 +0300)
scripts/automation/trex_control_plane/stl/services/scapy_server/scapy_zmq_server.py

index 408f1da..295315e 100755 (executable)
@@ -72,13 +72,11 @@ class Scapy_wrapper:
         return result\r
 \r
 \r
-    def metaraise(self,exc_info):\r
-        raise exc_info[0], exc_info[1], exc_info[2]\r
-\r
-\r
-    def error_handler(self,exception_obj,req_id):\r
+    def error_handler(self,e,req_id):\r
+        print('exception message is %s' % e.message)\r
+        print('exception type is: %s' % type(e))\r
         try:\r
-            self.metaraise(exception_obj)\r
+            raise e\r
         except ParseException as e:\r
             response = self.create_error_response(-32700,'Parse error ',req_id)\r
         except InvalidRequest as e:\r
@@ -94,6 +92,7 @@ class Scapy_wrapper:
         except:\r
             response = self.create_error_response(-32096,'Scapy Server: Unknown Error',req_id)\r
         finally:\r
+            print(response)\r
             return response\r
 \r
 class Scapy_server():\r
@@ -112,6 +111,7 @@ class Scapy_server():
             while True:\r
                 message = self.socket.recv()\r
                 try:\r
+                    req_id = 'null'\r
                     method,params,req_id = self.scapy_wrapper.parse_req_msg(message)\r
                     if (method == 'shut_down'):\r
                         print ('Shut down by remote user')\r
@@ -120,8 +120,7 @@ class Scapy_server():
                         result = self.scapy_wrapper.execute(method,params)\r
                     response = self.scapy_wrapper.create_success_response(result,req_id)\r
                 except Exception as e:\r
-                    exception_details = self.scapy_wrapper.get_exception()\r
-                    response = self.scapy_wrapper.error_handler(exception_details,req_id)\r
+                    response = self.scapy_wrapper.error_handler(e,req_id)\r
                 finally:\r
                     json_response = json.dumps(response)\r
                 #  Send reply back to client\r