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