def chatMessage()

in shd-notifier/Health-Event-Chat-Post-LambdaFn.py [0:0]


def chatMessage(message, subject, webhook, type):
    # detect if we are using slack, otherwise default to chime
    if (type == 'slack'):
        chat_message = {'text': message}
    elif type == 'sns':
        return snsMessage(webhook, subject, message)
    else:
        chat_message = {'Content': message}

    # log the chat message
    logger.info(str(chat_message))
    # post the message, catch and log any errors
    header = {'Content-type': 'application/json'}
    req = Request(webhook, json.dumps(chat_message).encode('utf8'), header)
    try:
        response = urlopen(req)
        response.read()
        if (type == 'slack'):
            logger.info("Message posted: %s", chat_message['text'])
        else:
            logger.info("Message posted: %s", chat_message['Content'])
    except HTTPError as e:
        logger.error(e)
        eMessage = "WEBHOOK HTTP Request failed : %d %s" % (e.code, e.reason)
        logger.error(eMessage)
        raise Exception(eMessage)
    except URLError as e:
        logger.error(e)
        eMessage = "WEBHOOK Server connection failed: %s" % (e.reason)
        logger.error(eMessage)
        raise Exception(eMessage)
    # successful post
    return 1