mirror of
https://github.com/alerta/alerta.git
synced 2025-01-27 10:29:03 +00:00
1c23c6a724
* Add "delete" hook called before any alert delete * Add plugin test for delete hook
33 lines
932 B
Python
33 lines
932 B
Python
import logging
|
|
|
|
from flask import request
|
|
|
|
from alerta.plugins import PluginBase
|
|
|
|
LOG = logging.getLogger('alerta.plugins')
|
|
|
|
|
|
class RemoteIpAddr(PluginBase):
|
|
"""
|
|
Add originating IP address of HTTP client as an alert attribute. This information
|
|
can be used for debugging, access control, or generating geolocation data.
|
|
"""
|
|
|
|
def pre_receive(self, alert, **kwargs):
|
|
if request.headers.getlist('X-Forwarded-For'):
|
|
alert.attributes.update(ip=request.headers.getlist('X-Forwarded-For')[0])
|
|
else:
|
|
alert.attributes.update(ip=request.remote_addr)
|
|
return alert
|
|
|
|
def post_receive(self, alert, **kwargs):
|
|
return
|
|
|
|
def status_change(self, alert, status, text, **kwargs):
|
|
return
|
|
|
|
def take_action(self, alert, action, text, **kwargs):
|
|
raise NotImplementedError
|
|
|
|
def delete(self, alert, **kwargs) -> bool:
|
|
raise NotImplementedError
|