- commit
- 566d59cb94e1e05feb9aeffbfc4cc5d77ffbacb6
- parent
- 693d480267073becb7504b0b063b25fb520cda4c
- Author
- Tobias Bengfort <tobias.bengfort@gmx.net>
- Date
- 2014-10-04 09:46
basic message validation
Diffstat
| M | laneya/protocol.py | 10 | ++++++++++ |
1 files changed, 10 insertions, 0 deletions
diff --git a/laneya/protocol.py b/laneya/protocol.py
@@ -129,13 +129,21 @@ class Protocol(JSONProtocol): 129 129 130 130 return self._sendResponse(key, 'success', **response) 131 131 -1 132 def validate_message(self, message, expected_keys): -1 133 if sorted(message.keys()) != expected_keys: -1 134 log.err('Invalid message: %s' % message) -1 135 raise InvalidError -1 136 132 137 def jsonReceived(self, message): 133 138 if message['type'] == 'request': -1 139 self.validate_message(message, ['action', 'data', 'key', 'type']) 134 140 self._requestReceived( 135 141 message['key'], 136 142 message['action'], 137 143 **message['data']) -1 144 138 145 elif message['type'] == 'response': -1 146 self.validate_message(message, ['data', 'key', 'status', 'type']) 139 147 key = message['key'] 140 148 if key in self._responseDeferreds: 141 149 response = { @@ -147,7 +155,9 @@ class Protocol(JSONProtocol): 147 155 d.resolve(response) 148 156 else: 149 157 d.reject(response) -1 158 150 159 elif message['type'] == 'update': -1 160 self.validate_message(message, ['action', 'data', 'type']) 151 161 self.updateReceived(message['action'], **message['data']) 152 162 else: 153 163 log.err('Message type not known: %s' % message['type'])