merging receive: Web: handle ValueError raised by protocol.receive

for #529
merge-web-protocol-receive
Ryan Barrett 2023-07-10 12:11:29 -07:00
rodzic 9211b74269
commit 5abc586749
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE31FDF4776E9D4
2 zmienionych plików z 9 dodań i 4 usunięć

Wyświetl plik

@ -601,8 +601,9 @@ class WebTest(TestCase):
mock_get.return_value = requests_response("""
<html>
<body class="h-entry">
<p class="e-content">no one to send to! <a href="http://localhost/"></a></p>
<p class="e-content">no one to send to!</p>
</body>
<a href="http://localhost/"></a>
</html>""", url='https://user.com/post', content_type=CONTENT_TYPE_HTML)
got = self.client.post('/_ah/queue/webmention', data={
@ -1221,7 +1222,7 @@ class WebTest(TestCase):
'source': 'https://user.com/follow',
'target': 'https://fed.brid.gy/',
})
self.assertEqual(400, got.status_code)
self.assertEqual(304, got.status_code)
mock_post.assert_not_called()
def test_follow_fragment(self, mock_get, mock_post):
@ -1997,7 +1998,7 @@ class WebUtilTest(TestCase):
<meta http-equiv="refresh" content="0;url=https://user.com/"></head>
<body class="">
<span class="h-card">
<data class="p-uid" value="http://orig"></data>
<data class="p-uid" value="https://user.com/"></data>
<a class="p-name u-url" href="https://user.com/">Ms. Baz</a>
</span>
</body>

6
web.py
Wyświetl plik

@ -564,4 +564,8 @@ def webmention_task():
'object': actor_as1,
})
return Web.receive(obj)
try:
return Web.receive(obj)
except ValueError as e:
logger.warning(e, exc_info=True)
error(e, status=304)