]> git.ipfire.org Git - pbs.git/commitdiff
httpclient: Form HTTPRequest object later
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 15 May 2023 14:59:15 +0000 (14:59 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 15 May 2023 14:59:15 +0000 (14:59 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/bugtracker.py
src/buildservice/httpclient.py
src/buildservice/releasemonitoring.py

index a32dc72aff0dd4f536256e4d16a7fbfe9e0ccdbf..4a29a105180d5fce740a3c86d3ebf84eeb4511dc 100644 (file)
@@ -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:
index 5d4c29f07026ad2833f2b8597d5363b76c2a4a5d..9a626186750d94ff239f12a2553572d20816d9ca 100644 (file)
@@ -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
 
index fda84170cd383fd126e018363da1d1a3297475db..1b1e0ba3e0a5d0a7b1f732aa6c996a9c67a00c80 100644 (file)
@@ -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: