コード例 #1
0
ファイル: event_poll.py プロジェクト: jongwony/secretary
def main(event):
    # Slack Error
    if reason := jmespath.search('headers."X-Slack-Retry-Reason"', event):
        print(reason)
        return Slack.server_response(500, headers={'X-Slack-No-Retry': 1})
コード例 #2
0
def lambda_handler(event, context):
    body = parse_qs(event['body'])
    print(body)
    # TODO: timeout control
    return Slack.server_response(200, body=command_main(body))
コード例 #3
0
ファイル: event_poll.py プロジェクト: jongwony/secretary
                             Payload=json.dumps(event).encode())

    @classmethod
    def bot_message(cls, event):
        lambda_client = boto3.client('lambda')
        lambda_client.invoke(FunctionName='event_bot_message',
                             InvocationType='Event',
                             Payload=json.dumps(event).encode())


def dispatcher(cls, event, query):
    body = json.loads(event.get('body'))
    query_diverge = getattr(cls, jmespath.search(query, body) or '', None)
    if callable(query_diverge):
        return query_diverge(event)


def main(event):
    # Slack Error
    if reason := jmespath.search('headers."X-Slack-Retry-Reason"', event):
        print(reason)
        return Slack.server_response(500, headers={'X-Slack-No-Retry': 1})

    result = dispatcher(TypeDiverge, event, 'type')
    return Slack.server_response(200, body=result)


def lambda_handler(event, context):
    print(event.get('body'))
    return main(event)