Skip to content

AttributeError Response content isn't text #1

Description

@tonal
AttributeError: Response content isn't text
  File "scrapy/utils/signal.py", line 32, in send_catch_log
    response = robustApply(receiver, signal=signal, sender=sender, *arguments, **named)
  File "pydispatch/robustapply.py", line 55, in robustApply
    return receiver(*arguments, **named)
  File "sentry_scrapy/extension.py", line 39, in spider_error
    scope.set_extra('response', response_to_dict(response))
  File "sentry_scrapy/utils.py", line 12, in response_to_dict
    'body': response.text,
  File "scrapy/http/response/__init__.py", line 108, in text
    raise AttributeError("Response content isn't text")

My manky path:

def _manky_path_sentry_scrapy_utils():
  from scrapy.http import TextResponse
  def response_to_dict(response):
    """
    Convert a `scrapy.http.Response` to a dictionnary.
    """
    fields = {
      'status': response.status,
      'url': response.url,
      'headers': response.headers.to_unicode_dict(),}
    if isinstance(response, TextResponse):
      fields.update(body=response.text)
    return fields

  from sentry_scrapy import utils
  response_to_dict.__module__ = utils
  utils.response_to_dict = response_to_dict

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions