Skip to content

Commit

Permalink
ref: Don't use properties
Browse files Browse the repository at this point in the history
  • Loading branch information
untitaker committed Aug 21, 2018
1 parent 8166ed6 commit c36fc7f
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 51 deletions.
77 changes: 38 additions & 39 deletions sentry_sdk/integrations/_wsgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,89 +41,88 @@ def __init__(self, request):
self.request = request

def extract_into_event(self, event, client_options):
content_length = self.content_length()
request_info = event.setdefault("request", {})
request_info["url"] = self.url
request_info["url"] = self.url()

if _should_send_default_pii():
request_info["cookies"] = dict(self.cookies)
request_info["cookies"] = dict(self.cookies())

bodies = client_options.get("request_bodies")
if (
bodies == "never"
or (bodies == "small" and self.content_length > 10 ** 3)
or (bodies == "medium" and self.content_length > 10 ** 4)
or (bodies == "small" and content_length > 10 ** 3)
or (bodies == "medium" and content_length > 10 ** 4)
):
data = AnnotatedValue(
"",
{
"rem": [["!config", "x", 0, self.content_length]],
"len": self.content_length,
},
)
elif self.form or self.files:
data = dict(self.form.items())
for k, v in self.files.items():
size = self.size_of_file(v)
data[k] = AnnotatedValue(
"", {"len": size, "rem": [["!filecontent", "x", 0, size]]}
)

elif self.json is not None:
data = self.json
elif self.raw_data:
data = AnnotatedValue(
"",
{
"rem": [["!rawbody", "x", 0, self.content_length]],
"len": self.content_length,
},
{"rem": [["!config", "x", 0, content_length]], "len": content_length},
)
else:
return
parsed_body = self.parsed_body()
if parsed_body:
data = parsed_body
elif self.raw_data():
data = AnnotatedValue(
"",
{
"rem": [["!rawbody", "x", 0, content_length]],
"len": content_length,
},
)
else:
return

request_info["data"] = data

@property
def content_length(self):
try:
return int(self.env.get("CONTENT_LENGTH", 0))
return int(self.env().get("CONTENT_LENGTH", 0))
except ValueError:
return 0

@property
def url(self):
raise NotImplementedError()

@property
def cookies(self):
raise NotImplementedError()

@property
def raw_data(self):
raise NotImplementedError()

@property
def form(self):
raise NotImplementedError()

@property
def parsed_body(self):
form = self.form()
files = self.files()
if form or files:
data = dict(form.items())
for k, v in files.items():
size = self.size_of_file(v)
data[k] = AnnotatedValue(
"", {"len": size, "rem": [["!filecontent", "x", 0, size]]}
)

return data

return self.json()

def is_json(self):
mt = (self.env.get("CONTENT_TYPE") or "").split(";", 1)[0]
mt = (self.env().get("CONTENT_TYPE") or "").split(";", 1)[0]
return (
mt == "application/json"
or (mt.startswith("application/"))
and mt.endswith("+json")
)

@property
def json(self):
try:
if self.is_json:
return json.loads(self.raw_data.decode("utf-8"))
if self.is_json():
return json.loads(self.raw_data().decode("utf-8"))
except ValueError:
pass

@property
def files(self):
raise NotImplementedError()

Expand Down
6 changes: 0 additions & 6 deletions sentry_sdk/integrations/django.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,27 +105,21 @@ def _got_request_exception(request=None, **kwargs):


class DjangoRequestExtractor(RequestExtractor):
@property
def url(self):
return self.request.build_absolute_uri(self.request.path)

@property
def env(self):
return self.request.META

@property
def cookies(self):
return self.request.COOKIES

@property
def raw_data(self):
return self.request.body

@property
def form(self):
return self.request.POST

@property
def files(self):
return self.request.FILES

Expand Down
6 changes: 0 additions & 6 deletions sentry_sdk/integrations/flask.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,27 +97,21 @@ def _process_frames(app, event):


class FlaskRequestExtractor(RequestExtractor):
@property
def url(self):
return "%s://%s%s" % (self.request.scheme, self.request.host, self.request.path)

@property
def env(self):
return self.request.environ

@property
def cookies(self):
return self.request.cookies

@property
def raw_data(self):
return self.request.data

@property
def form(self):
return self.request.form

@property
def files(self):
return self.request.files

Expand Down

0 comments on commit c36fc7f

Please sign in to comment.