def process_request(self, request): request.environ['HTTP_X_SERVICE_NAME'] = \ self.service_name or request.host payload = { 'request': self.environ_to_dict(request.environ), } api.notify(context.get_admin_context(), api.publisher_id(os.path.basename(sys.argv[0])), 'http.request', api.INFO, payload)
def notify(context, message): """Sends a notification via RPC.""" if not context: context = req_context.get_admin_context() priority = message.get('priority', CONF.default_notification_level) priority = priority.lower() for topic in CONF.notification_topics: topic = '%s.%s' % (topic, priority) try: rpc.notify(context, topic, message) except Exception: LOG.exception(_LE("Could not send notification to %(topic)s. " "Payload=%(message)s"), {"topic": topic, "message": message})
def notify(context, message): """Sends a notification via RPC.""" if not context: context = req_context.get_admin_context() priority = message.get('priority', CONF.default_notification_level) priority = priority.lower() for topic in CONF.rpc_notifier2.topics: topic = '%s.%s' % (topic, priority) try: rpc.notify(context, topic, message, envelope=True) except Exception: LOG.exception( _LE("Could not send notification to %(topic)s. " "Payload=%(message)s"), { "topic": topic, "message": message })
def process_response(self, request, response, exception=None, traceback=None): payload = { 'request': self.environ_to_dict(request.environ), } if response: payload['response'] = { 'status': response.status, 'headers': response.headers, } if exception: payload['exception'] = { 'value': repr(exception), 'traceback': tb.format_tb(traceback) } api.notify(context.get_admin_context(), api.publisher_id(os.path.basename(sys.argv[0])), 'http.response', api.INFO, payload)
import mock from essential import context from essential.fixture import config from essential.fixture import moxstubout from essential import log from essential.notifier import api as notifier_api from essential.notifier import log_notifier from essential.notifier import no_op_notifier from essential.notifier import proxy from essential import rpc from essential import test ctxt = context.get_admin_context() ctxt2 = context.get_admin_context() class NotifierTestCase(test.BaseTestCase): """Test case for notifications.""" def setUp(self): super(NotifierTestCase, self).setUp() notification_driver = [ 'essential.notifier.no_op_notifier' ] self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs self.config = self.useFixture(config.Config()).config self.CONF = self.useFixture(config.Config()).conf self.config(notification_driver=notification_driver) self.config(default_publisher_id='publisher')
def test_admin_context_show_deleted_flag_default(self): ctx = context.get_admin_context() self.assertFalse(ctx.show_deleted)