From: Michael Tremer Date: Mon, 15 May 2023 14:59:15 +0000 (+0000) Subject: httpclient: Form HTTPRequest object later X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd4df9261120285b869844fb2c5119e448cd6d91;p=pbs.git httpclient: Form HTTPRequest object later Signed-off-by: Michael Tremer --- diff --git a/src/buildservice/bugtracker.py b/src/buildservice/bugtracker.py index a32dc72a..4a29a105 100644 --- a/src/buildservice/bugtracker.py +++ b/src/buildservice/bugtracker.py @@ -29,7 +29,6 @@ import mimetypes import urllib.parse from . import base -from . import httpclient from .decorators import * # Setup logging @@ -132,16 +131,9 @@ class Bugzilla(base.Object): body = None - # Create a new request - req = httpclient.HTTPRequest( - method=method, - url=url, - headers=headers, - body=body, - ) - # Send the request and wait for a response - res = await self.backend.httpclient.fetch(req) + res = await self.backend.httpclient.fetch(url, method=method, + headers=headers, body=body) # Decode JSON response if res.body: diff --git a/src/buildservice/httpclient.py b/src/buildservice/httpclient.py index 5d4c29f0..9a626186 100644 --- a/src/buildservice/httpclient.py +++ b/src/buildservice/httpclient.py @@ -47,10 +47,13 @@ class HTTPClient(tornado.curl_httpclient.CurlAsyncHTTPClient): # Store a reference to the backend self.backend = backend - async def fetch(self, request): + async def fetch(self, request, **kwargs): """ Sends a request """ + if not isinstance(request, HTTPRequest): + request = HTTPRequest(url=request, **kwargs) + # Set User-Agent request.user_agent = "PakfireBuildService/%s" % self.backend.version diff --git a/src/buildservice/releasemonitoring.py b/src/buildservice/releasemonitoring.py index fda84170..1b1e0ba3 100644 --- a/src/buildservice/releasemonitoring.py +++ b/src/buildservice/releasemonitoring.py @@ -24,7 +24,6 @@ import urllib.parse from . import base from . import database -from . import httpclient from .decorators import * # Setup logging @@ -56,13 +55,9 @@ class ReleaseMonitoring(base.Object): elif method == "POST": data = urllib.parse.urlencode(data) - # Create a new request - req = httpclient.HTTPRequest( - method=method, url=url, headers=headers, body=data, - ) - # Send the request and wait for a response - res = await self.backend.httpclient.fetch(req) + res = await self.backend.httpclient.fetch(url, method=method, + headers=headers, body=data) # Decode JSON response if res.body: