1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00

Support 202203 (#1144)

* Do not show objects in status "pending" on the UI #784

* Fix peeringdb.js bug introduced in #784

* 500 Error during login for 2FA enabled accounts with unverified email address #996

* Django-Admin: adding a network with existing asn fails with internal error #1035

* Some command-line-tool executions are not logged #1119

* Ops: API throttling of repeated requests #1126

* Ops: response header X-Auth-ID to augment logging #1120

* Allow rate-limiting of melissa enabled api functionality. #1124

* State / Province normalization #1079

* Log melissa requests #1122

* remove debug messages

* bump django-handleref to 1.0.2

* Need consolidated app logs #845

* pin django peeringdb to 2.13 and relock poetry

* pin django-restframework-apikey to 2.1.0

* linting

* migrations

* docs regenerate

* docs

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
This commit is contained in:
Matt Griswold
2022-04-12 16:39:19 -04:00
committed by GitHub
parent 7f48bbc7e7
commit 505760aa8d
70 changed files with 2295 additions and 446 deletions

View File

@@ -9,6 +9,8 @@ import json
from rest_framework import renderers
from rest_framework.utils import encoders
from peeringdb_server.rest_throttles import ResponseSizeThrottle
class JSONEncoder(encoders.JSONEncoder):
"""
@@ -78,6 +80,8 @@ class MetaJSONRenderer(MungeRenderer):
if "request" in renderer_context:
request = renderer_context.get("request")
meta.update(getattr(request, "meta_response", {}))
else:
request = None
res = renderer_context["response"]
if res.status_code < 400:
@@ -98,6 +102,12 @@ class MetaJSONRenderer(MungeRenderer):
result["meta"] = meta
return super(self.__class__, self).render(
rendered_content = super(self.__class__, self).render(
result, accepted_media_type, renderer_context
)
# handle caching of response size (#1129)
if request:
ResponseSizeThrottle.cache_response_size(request, len(rendered_content))
return rendered_content