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) 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. """Wraps requests.* and adds HTTP Signature.
Args: Args:
fn: :func:`util.requests_get` or :func:`util.requests_get` fn: :func:`util.requests_get` or :func:`util.requests_get`
url: str url: str
data: optional AS2 object data: optional AS2 object
log_data: boolean, whether to log full data object
user: optional :class:`User` to sign request with user: optional :class:`User` to sign request with
kwargs: passed through to requests 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() user = default_signature_user()
if data: 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() data = kwargs['data'] = json_dumps(data).encode()
headers = copy.deepcopy(headers) headers = copy.deepcopy(headers)

Wyświetl plik

@ -132,6 +132,7 @@ class Webmention(View):
error = None error = None
last_success = None last_success = None
log_data = True
# TODO: collect by inbox, add 'to' fields, de-dupe inboxes and recipients # 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)) last_follow=json_dumps(self.source_as2))
try: 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' activity.status = 'complete'
last_success = last last_success = last
except BaseException as e: except BaseException as e:
error = e error = e
activity.status = 'error' activity.status = 'error'
finally:
log_data = False
activity.put() activity.put()