mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2024-11-22 14:38:00 +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)
|
logging.verbose('Sending "%s" to %s', mtype, url)
|
||||||
|
|
||||||
async with self._session.post(url, headers = headers, data = body) as resp:
|
async with self._session.post(url, headers = headers, data = body) as resp:
|
||||||
# Not expecting a response, so just return
|
if resp.status not in (200, 202):
|
||||||
if resp.status in {200, 202}:
|
raise HttpError(
|
||||||
logging.verbose('Successfully sent "%s" to %s', mtype, url)
|
resp.status,
|
||||||
return
|
await resp.text(),
|
||||||
|
headers = {k: v for k, v in resp.headers.items()}
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
async def fetch_nodeinfo(self, domain: str, force: bool = False) -> Nodeinfo:
|
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 aiohttp.client_exceptions import ClientConnectionError, ClientSSLError
|
||||||
from asyncio.exceptions import TimeoutError as AsyncTimeoutError
|
from asyncio.exceptions import TimeoutError as AsyncTimeoutError
|
||||||
|
from blib import HttpError
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from multiprocessing import Event, Process, Queue, Value
|
from multiprocessing import Event, Process, Queue, Value
|
||||||
from multiprocessing.queues import Queue as QueueType
|
from multiprocessing.queues import Queue as QueueType
|
||||||
|
@ -94,6 +95,9 @@ class PushWorker(Process):
|
||||||
try:
|
try:
|
||||||
await self.client.post(item.inbox, item.message, item.instance)
|
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:
|
except AsyncTimeoutError:
|
||||||
logging.error('Timeout when pushing to %s', item.domain)
|
logging.error('Timeout when pushing to %s', item.domain)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue