def decode_event(data): """Decode event encoded as JSON by Go""" obj = json.loads(data) trigger = TriggerInfo( obj['trigger']['class'], obj['trigger']['kind'], ) # Headers are case insensitive headers = Headers() obj_headers = obj['headers'] or {} for key, value in obj_headers.items(): headers[key] = value return Event( body=decode_body(obj['body']), content_type=obj['content-type'], trigger=trigger, fields=obj.get('fields') or {}, headers=headers, id=obj['id'], method=obj['method'], path=obj['path'], size=obj['size'], timestamp=datetime.utcfromtimestamp(obj['timestamp']), url=obj['url'], version=obj['version'], )
def decode_event(data): """Decode event encoded as JSON by Go""" obj = json.loads(data) event_source = EventSourceInfo( obj['event_source']['class'], obj['event_source']['kind'], ) # Headers are insensitive headers = Headers() obj_headers = obj['headers'] or {} for key, value in obj_headers.items(): headers[key] = value return Event( version=obj['version'], id=obj['id'], event_source=event_source, content_type=obj['content-type'], body=decode_body(obj['body']), size=obj['size'], headers=headers, timestamp=datetime.utcfromtimestamp(obj['timestamp']), path=obj['path'], url=obj['url'], method=obj['method'], )