def _get_other_from_request(request): other = {} for k, v in _filterPasswordFields(request.other.items()): if k in ("PARENTS", "RESPONSE"): continue other[k] = repr(v) return other
def _get_cookies_from_request(request): cookies = dict() for k, v in _filterPasswordFields(request.cookies.items()): if k == '__ac': continue cookies[k] = repr(v) return cookies
def _before_send(event, hint): """ Inject Plone/Zope specific information (based on raven.contrib.zope) """ request = getRequest() if not request: return event # ensure that all header key-value pairs are strings headers = dict() for k, v in request.environ.items(): if not isinstance(v, str): v = str(v) headers[k] = v body_pos = request.stdin.tell() request.stdin.seek(0) body = request.stdin.read() request.stdin.seek(body_pos) http = dict( headers=headers, url=request.getURL(), method=request.method, host=request.environ.get("REMOTE_ADDR", ""), ) if "HTTP_USER_AGENT" in http["headers"]: if "User-Agent" not in http["headers"]: http["headers"]["User-Agent"] = http["headers"]["HTTP_USER_AGENT"] if "QUERY_STRING" in http["headers"]: http["query_string"] = http["headers"]["QUERY_STRING"] event["extra"]["request"] = http event["extra"]["form"] = {} event["extra"]["other"] = {} event["extra"]["cookies"] = {} event["extra"]["lazy items"] = {} for k, v in _filterPasswordFields(request.form.items()): event["extra"]["form"][k] = repr(v) for k, v in _filterPasswordFields(request.cookies.items()): event["extra"]["cookies"][k] = repr(v) for k, v in _filterPasswordFields(request._lazies.items()): event["extra"]["lazy items"][k] = repr(v) for k, v in _filterPasswordFields(request.other.items()): if k in ('PARENTS', 'RESPONSE'): continue event["extra"]["other"][k] = repr(v) user = request.get("AUTHENTICATED_USER", None) if user is not None and user != nobody: user_dict = { "id": user.getId(), "email": user.getProperty("email") or "", } else: user_dict = {} event["extra"]["user"] = user_dict return event
def _get_form_from_request(request): form = {} for k, v in _filterPasswordFields(request.form.items()): form[k] = repr(v) return form
def _get_cookies_from_request(request): cookies = {} for k, v in _filterPasswordFields(request.cookies.items()): cookies[k] = repr(v) return cookies
def _get_lazyitems_from_request(request): lazy_items = {} for k, v in _filterPasswordFields(request._lazies.items()): lazy_items[k] = repr(v) return lazy_items