Browse Source

Port Hybrid Server.

Bentley James Oakes 7 years ago
parent
commit
e72af52096
2 changed files with 13 additions and 3 deletions
  1. 7 3
      hybrid_server/classes/socket.xml
  2. 6 0
      hybrid_server/server.xml

+ 7 - 3
hybrid_server/classes/socket.xml

@@ -36,6 +36,9 @@
                         <parameter name="socket"/>
                         <parameter name="data"/>
                         <script>
+                            if sys.version_info[0] > 2:
+                                if isinstance(data, bytes):
+                                    data = data.decode()
                             self.received_data += data
                         </script>
                         <raise event="received_data"/>
@@ -128,9 +131,10 @@
                             # We support POST data only, so everything is in the data
                             try:
                                 params = dict([p.split('=') for p in data.split('&amp;')])
-                                data = {k: urllib.unquote_plus(v) for k, v in params.iteritems()}
-                            except:
-                                print("Problem receiving data in socket")
+                                data = {k: unquote_plus(v) for k, v in params.items()}
+                            except Exception as e:
+                                print("Problem receiving data in socket: ")
+                                print(str(e))
                                 data = {}
                         </script>
                         <raise event="HTTP_output" scope="narrow" target="'parent'">

+ 6 - 0
hybrid_server/server.xml

@@ -8,6 +8,12 @@
         import time
         import os
         import urllib
+
+        try:
+            from urllib.parse import unquote_plus as unquote_plus
+        except Exception:
+            from urllib import unquote_plus as unquote_plus
+
         import sys
         import json