mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-12-22 19:21:08 +00:00
raise error on non 200 or 202 status in HttpClient.post
This commit is contained in:
parent
c5633808f7
commit
c482677c32
|
@ -220,16 +220,12 @@ class HttpClient:
|
|||
logging.verbose('Sending "%s" to %s', mtype, url)
|
||||
|
||||
async with self._session.post(url, headers = headers, data = body) as resp:
|
||||
# Not expecting a response, so just return
|
||||
if resp.status in {200, 202}:
|
||||
logging.verbose('Successfully sent "%s" to %s', mtype, url)
|
||||
return
|
||||
|
||||
logging.error('Received error when pushing to %s: %i', url, resp.status)
|
||||
logging.debug(await resp.read())
|
||||
logging.debug("message: %s", body.decode("utf-8"))
|
||||
logging.debug("headers: %s", json.dumps(headers, indent = 4))
|
||||
return
|
||||
if resp.status not in (200, 202):
|
||||
raise HttpError(
|
||||
resp.status,
|
||||
await resp.text(),
|
||||
headers = {k: v for k, v in resp.headers.items()}
|
||||
)
|
||||
|
||||
|
||||
async def fetch_nodeinfo(self, domain: str, force: bool = False) -> Nodeinfo:
|
||||
|
|
|
@ -5,6 +5,7 @@ import traceback
|
|||
|
||||
from aiohttp.client_exceptions import ClientConnectionError, ClientSSLError
|
||||
from asyncio.exceptions import TimeoutError as AsyncTimeoutError
|
||||
from blib import HttpError
|
||||
from dataclasses import dataclass
|
||||
from multiprocessing import Event, Process, Queue, Value
|
||||
from multiprocessing.queues import Queue as QueueType
|
||||
|
@ -94,6 +95,9 @@ class PushWorker(Process):
|
|||
try:
|
||||
await self.client.post(item.inbox, item.message, item.instance)
|
||||
|
||||
except HttpError as e:
|
||||
logging.error('HTTP Error when pushing to %s: %i %s', item.inbox, e.status, e.message)
|
||||
|
||||
except AsyncTimeoutError:
|
||||
logging.error('Timeout when pushing to %s', item.domain)
|
||||
|
||||
|
|
Loading…
Reference in a new issue