diff --git a/requirements.txt b/requirements.txt index 52ab630b..4d09d748 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,4 +7,6 @@ requests>=2,<=3, sqlparse>=0.1,<0.2, Jinja2>=2.7,<3, autopep8>=1,<2 +rawes>=5,<6 pytz==2014.2 +pyeqs>=0.8.1,<1 diff --git a/setup.py b/setup.py index baa5c3d7..a38609b8 100644 --- a/setup.py +++ b/setup.py @@ -40,6 +40,8 @@ 'sqlparse>=0.1,<0.2', 'Jinja2>=2.7,<3', 'autopep8>=1,<2', - 'pytz==2014.2' + 'rawes>=5,<6', + 'pytz==2014.2', + 'pyeqs>=0.8.1<1' ] ) diff --git a/silk/model_factory.py b/silk/model_factory.py index 64546849..f4caee6d 100644 --- a/silk/model_factory.py +++ b/silk/model_factory.py @@ -103,6 +103,8 @@ def body(self): raw_body = raw_body.decode('UTF-8') except AttributeError: pass + except UnicodeDecodeError: + raw_body = '' except Exception as e: Logger.error('Unable to decode request body using char_set %s due to error: %s. Will ignore. Stacktrace:' % (char_set, e)) traceback.print_exc() @@ -112,6 +114,8 @@ def body(self): raw_body = raw_body.decode('UTF-8') except AttributeError: pass + except UnicodeDecodeError: + raw_body = '' max_size = SilkyConfig().SILKY_MAX_REQUEST_BODY_SIZE body = '' if raw_body: @@ -188,6 +192,8 @@ def body(self): content = content.decode('UTF-8') except AttributeError: pass + except UnicodeDecodeError: + content = '' except Exception as e: Logger.error('Unable to decode response body using char_set %s due to error: %s. Will ignore. Stacktrace:' % (char_set, e)) traceback.print_exc() @@ -197,6 +203,8 @@ def body(self): content = content.decode('UTF-8') except AttributeError: pass + except UnicodeDecodeError: + content = '' if content: max_body_size = SilkyConfig().SILKY_MAX_RESPONSE_BODY_SIZE if max_body_size > -1: @@ -220,7 +228,6 @@ def body(self): return body, content def construct_response_model(self): - assert self.request, 'Cant construct a response model if there is no request model' Logger.debug('Creating response model for request model with pk %s' % self.request.pk) b, content = self.body() @@ -243,4 +250,4 @@ def construct_response_model(self): silky_response.raw_body = content except UnicodeDecodeError: Logger.debug('NYI: Saving of binary response body') # TODO - return silky_response \ No newline at end of file + return silky_response