From 9d6f9a36341a12e3c7fbb9849959a76e5d588bbb Mon Sep 17 00:00:00 2001 From: Philippe Cote-Boucher Date: Thu, 20 Jun 2019 17:33:34 -0400 Subject: [PATCH] chore: fixed http_logger to forward modelId --- rasa_addons/nlu/components/http_logger.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rasa_addons/nlu/components/http_logger.py b/rasa_addons/nlu/components/http_logger.py index 0274858..0e4c691 100644 --- a/rasa_addons/nlu/components/http_logger.py +++ b/rasa_addons/nlu/components/http_logger.py @@ -4,7 +4,10 @@ from rasa.nlu.training_data import Message from requests_futures.sessions import FuturesSession +import json +import logging +logger = logging.getLogger(__name__) class HttpLogger(Component): name = 'HttpLogger' @@ -16,19 +19,24 @@ class HttpLogger(Component): def __init__(self, component_config=None): super(HttpLogger, self).__init__(component_config) assert 'url' in component_config, 'You must specify the url to use the HttpLogger component' + assert 'model_id' in component_config, 'You must specify the model_id to use the HttpLogger component' def process(self, message, **kwargs): # type: (Message, **Any) -> None session = FuturesSession() - if not message.params or message.params.get('nolog', 'false') not in ['true', '1']: + if not message.params or message.params.get('nolog', 'false') in ['true', '1']: return output = self._message_dict(message) for k, v in self.component_config.get('params').items(): output[k] = v + output['modelId'] = self.component_config.get('model_id') - session.post(self.component_config.get('url'), json=output) + future = session.post(self.component_config.get('url'), json=output) + response = future.result() + if response.status_code != 200: + logger.error('{} Error from API: {}'.format(str(response.status_code), json.loads(response.content)['error'])) @staticmethod def _message_dict(message):