diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-03-17 16:59:16 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-03-30 10:11:32 +0300 |
commit | 87001d6a0c5d9d8b48e716ec733e5ba6c0c4afd4 (patch) | |
tree | cebdf8da53237de0740fd0911f8bca80b8134ba4 /worker_manager | |
parent | b211b8918ba5dcbdfad04a7b84b2c7ba27b4070f (diff) | |
download | ick2-87001d6a0c5d9d8b48e716ec733e5ba6c0c4afd4.tar.gz |
Add: HttpAPI class for using REST-ful HTTP API
Diffstat (limited to 'worker_manager')
-rwxr-xr-x | worker_manager | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/worker_manager b/worker_manager index 7530469..db4d08f 100755 --- a/worker_manager +++ b/worker_manager @@ -26,7 +26,6 @@ import time import apifw import cliapp import Crypto.PublicKey.RSA -import requests import urllib3 import ick2 @@ -193,31 +192,32 @@ class ControllerAPI: class HttpApi: def __init__(self): - self._session = requests.Session() + self._httpapi = ick2.HttpAPI() def post(self, url, headers, body): - r = self._session.post(url, json=body, headers=headers, verify=False) - if not r.ok: - logging.warning('Error: POST %s returned %s', url, r.status_code) - return r.status_code + ret = self._request(self._httpapi.post, url, headers, body=body) + if ret is None: + return 400 + return 201 def put(self, url, headers, body): - r = self._session.put(url, data=body, headers=headers, verify=False) - if not r.ok: - logging.warning('Error: PUT %s returned %s', url, r.status_code) - return r.status_code + ret = self._request(self._httpapi.put, url, headers, body=body) + if ret is None: + return 400 + return 200 def get(self, url, headers): - r = self._session.get(url, headers=headers, verify=False) - if not r.ok or not r.text: - return None - return r.json() + return self._request(self._httpapi.get_dict, url, headers) def get_blob(self, url, headers): - r = self._session.get(url, headers=headers, verify=False) - if not r.ok: + return self._request(self._httpapi.get_blob, url, headers) + + def _request(self, func, url, headers, **kwargs): + try: + return func(url, headers=headers, **kwargs) + except ick2.HttpError as e: + logging.warning('Error: %s returned %s', url, e) return None - return r.content class TokenGenerator: |