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