Exemple #1
0
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'],
    )
Exemple #2
0
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'],
    )