outbound AP: only log pretty-printed AS2 object on first request, not all

pull/386/head
Ryan Barrett 2023-01-24 16:47:23 -08:00
rodzic 55d5206188
commit eca2f6f1ca
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 9 dodań i 3 usunięć

Wyświetl plik

@ -102,13 +102,14 @@ def signed_post(url, **kwargs):
return signed_request(util.requests_post, url, **kwargs)
def signed_request(fn, url, data=None, user=None, headers=None, **kwargs):
def signed_request(fn, url, data=None, log_data=True, user=None, headers=None, **kwargs):
"""Wraps requests.* and adds HTTP Signature.
Args:
fn: :func:`util.requests_get` or :func:`util.requests_get`
url: str
data: optional AS2 object
log_data: boolean, whether to log full data object
user: optional :class:`User` to sign request with
kwargs: passed through to requests
@ -122,7 +123,8 @@ def signed_request(fn, url, data=None, user=None, headers=None, **kwargs):
user = default_signature_user()
if data:
logging.info(f'Sending AS2 object: {json_dumps(data, indent=2)}')
if log_data:
logging.info(f'Sending AS2 object: {json_dumps(data, indent=2)}')
data = kwargs['data'] = json_dumps(data).encode()
headers = copy.deepcopy(headers)

Wyświetl plik

@ -132,6 +132,7 @@ class Webmention(View):
error = None
last_success = None
log_data = True
# TODO: collect by inbox, add 'to' fields, de-dupe inboxes and recipients
@ -180,12 +181,15 @@ class Webmention(View):
last_follow=json_dumps(self.source_as2))
try:
last = common.signed_post(inbox, data=self.source_as2, user=self.user)
last = common.signed_post(inbox, data=self.source_as2,
log_data=log_data, user=self.user)
activity.status = 'complete'
last_success = last
except BaseException as e:
error = e
activity.status = 'error'
finally:
log_data = False
activity.put()