Source code for blockade.libs.events
#!/usr/bin/env python
"""Events interface for blockade."""
__author__ = 'Claudio Guarnieri'
__version__ = '1.0.0'
from blockade.api import Client
[docs]class EventsClient(Client):
"""Client to interface with events for blockade."""
def __init__(self, *args, **kwargs):
"""Setup the primary client instance."""
super(EventsClient, self).__init__(*args, **kwargs)
[docs] def get_events(self):
"""Get events from the cloud node."""
to_send = {'limit': 50}
response = self._send_data('POST', 'admin', 'get-events', to_send)
output = {'message': ""}
for event in response['events']:
desc = "Source IP: {ip}\n"
desc += "Datetime: {time}\n"
desc += "Indicator: {match}\n"
desc += "Method: {method}\n"
desc += "URL: {url}\n"
desc += "Request Type: {type}\n"
desc += "User-Agent: {userAgent}\n"
desc += "Contact: {contact}\n"
desc += "\n"
output['message'] += desc.format(**event)
return output
[docs] def flush_events(self):
"""Flush events from the cloud node."""
response = self._send_data('DELETE', 'admin', 'flush-events', {})
if response['success']:
msg = "Events flushed"
else:
msg = "Flushing of events failed"
output = {'message': msg}
return output