From: Michael Tremer Date: Mon, 15 May 2023 14:50:54 +0000 (+0000) Subject: release monitoring: Use our own HTTP client X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=50ced53b282cc1064d242fb6b2cf6a57fafceef4;p=pbs.git release monitoring: Use our own HTTP client Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/httpclient.py b/src/buildservice/httpclient.py index 698e696d..d79beff4 100644 --- a/src/buildservice/httpclient.py +++ b/src/buildservice/httpclient.py @@ -33,6 +33,10 @@ from .__version__ import VERSION as __version__ # Setup logging log = logging.getLogger("pbs.httpclient") +# Copy exceptions +HTTPError = tornado.httpclient.HTTPError + +# Copy the request object HTTPRequest = tornado.httpclient.HTTPRequest class HTTPClient(tornado.curl_httpclient.CurlAsyncHTTPClient): diff --git a/src/buildservice/releasemonitoring.py b/src/buildservice/releasemonitoring.py index 9d13af34..fda84170 100644 --- a/src/buildservice/releasemonitoring.py +++ b/src/buildservice/releasemonitoring.py @@ -20,11 +20,11 @@ import json import logging -import tornado.httpclient import urllib.parse from . import base from . import database +from . import httpclient from .decorators import * # Setup logging @@ -33,9 +33,6 @@ log = logging.getLogger("pbs.releasemonitoring") class ReleaseMonitoring(base.Object): baseurl = "https://release-monitoring.org" - def init(self): - self.client = tornado.httpclient.AsyncHTTPClient() - @property def api_key(self): return self.settings.get("release-monitoring-api-key") @@ -60,20 +57,12 @@ class ReleaseMonitoring(base.Object): data = urllib.parse.urlencode(data) # Create a new request - req = tornado.httpclient.HTTPRequest( + req = httpclient.HTTPRequest( method=method, url=url, headers=headers, body=data, ) # Send the request and wait for a response - try: - res = await self.client.fetch(req) - - except tornado.httpclient.HTTPError as e: - print(e.response.body) - - raise e - - log.debug("Response received in %.2fms" % (res.request_time * 1000)) + res = await self.backend.httpclient.fetch(req) # Decode JSON response if res.body: