Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

# -*- coding: utf-8 -*- 

""" 

Parses webhook events from request 

""" 

 

from . import events 

from . import errors 

 

 

def parse_event_data(request, event_data): 

    """ Returns a single BaseWebhookEvent instance """ 

    event_type = event_data['event'] 

    try: 

        event_cls = events.event_mapping[event_type] 

    except KeyError: 

        raise errors.UnknownEventError(event_type) 

 

    return event_cls(request, event_data) 

 

 

def webhooks_from_request(request): 

    """ 

    Generates a sequence of BaseWebhookEvent instances 

    """ 

    for event_data in request.json_body: 

        yield parse_event_data(request, event_data)