# 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):
import json
import logging
-import tornado.httpclient
import urllib.parse
from . import base
from . import database
+from . import httpclient
from .decorators import *
# Setup logging
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")
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: