Esempio n. 1
0
    def stringReceived(self, payload):
        self.log.debug("WampRawSocketProtocol: RX octets: {octets}", octets=_LazyHexFormatter(payload))
        try:
            for msg in self._serializer.unserialize(payload):
                self.log.debug("WampRawSocketProtocol: RX WAMP message: {msg}", msg=msg)
                self._session.onMessage(msg)

        except ProtocolError as e:
            self.log.warn("WampRawSocketProtocol: WAMP Protocol Error ({err}) - aborting connection", err=e)
            self.abort()

        except Exception as e:
            self.log.warn("WampRawSocketProtocol: WAMP Internal Error ({err}) - aborting connection", err=e)
            self.abort()
Esempio n. 2
0
 def send(self, msg):
     """
     Implements :func:`autobahn.wamp.interfaces.ITransport.send`
     """
     if self.isOpen():
         self.log.debug("WampRawSocketProtocol: TX WAMP message: {msg}", msg=msg)
         try:
             payload, _ = self._serializer.serialize(msg)
         except Exception as e:
             # all exceptions raised from above should be serialization errors ..
             raise SerializationError("WampRawSocketProtocol: unable to serialize WAMP application payload ({0})"
                                      .format(e))
         else:
             self.sendString(payload)
             self.log.debug("WampRawSocketProtocol: TX octets: {octets}", octets=_LazyHexFormatter(payload))
     else:
         raise TransportLost()
Esempio n. 3
0
 def data_received(self, data):
     self.log.debug('RawSocker Asyncio: data received {data}', data=_LazyHexFormatter(data))
     if self._handshake_done:
         return PrefixProtocol.data_received(self, data)
     else:
         self._buffer += data
         if len(self._buffer) >= 4:
             try:
                 self.process_handshake()
             except HandshakeError as e:
                 self.protocol_error('Handshake error : {err}'.format(err=e))
                 return
             self._handshake_done = True
             self._on_handshake_complete()
             data = self._buffer[4:]
             self._buffer = b''
             if data:
                 PrefixProtocol.data_received(self, data)
Esempio n. 4
0
 def send(self, msg):
     """
     Implements :func:`autobahn.wamp.interfaces.ITransport.send`
     """
     if self.isOpen():
         self.log.debug("WampRawSocketProtocol: TX WAMP message: {msg}",
                        msg=msg)
         try:
             payload, _ = self._serializer.serialize(msg)
         except Exception as e:
             # all exceptions raised from above should be serialization errors ..
             raise SerializationError(
                 "WampRawSocketProtocol: unable to serialize WAMP application payload ({0})"
                 .format(e))
         else:
             self.sendString(payload)
             self.log.debug("WampRawSocketProtocol: TX octets: {octets}",
                            octets=_LazyHexFormatter(payload))
     else:
         raise TransportLost()
Esempio n. 5
0
    def stringReceived(self, payload):
        self.log.debug("WampRawSocketProtocol: RX octets: {octets}",
                       octets=_LazyHexFormatter(payload))
        try:
            for msg in self._serializer.unserialize(payload):
                self.log.debug("WampRawSocketProtocol: RX WAMP message: {msg}",
                               msg=msg)
                self._session.onMessage(msg)

        except ProtocolError as e:
            self.log.warn(
                "WampRawSocketProtocol: WAMP Protocol Error ({err}) - aborting connection",
                err=e)
            self.abort()

        except Exception as e:
            self.log.warn(
                "WampRawSocketProtocol: WAMP Internal Error ({err}) - aborting connection",
                err=e)
            self.abort()
Esempio n. 6
0
 def data_received(self, data):
     self.log.debug('RawSocker Asyncio: data received {data}',
                    data=_LazyHexFormatter(data))
     if self._handshake_done:
         return PrefixProtocol.data_received(self, data)
     else:
         self._buffer += data
         if len(self._buffer) >= 4:
             try:
                 self.process_handshake()
             except HandshakeError as e:
                 self.protocol_error(
                     'Handshake error : {err}'.format(err=e))
                 return
             self._handshake_done = True
             self._on_handshake_complete()
             data = self._buffer[4:]
             self._buffer = b''
             if data:
                 PrefixProtocol.data_received(self, data)