builder: wrap http calls
This is so that we can add retry logic when doing SSO/OAuth2.
This commit is contained in:
parent
1530f91794
commit
ca05cc9f00
1 changed files with 14 additions and 5 deletions
|
|
@ -24,7 +24,7 @@ import time
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
|
|
||||||
from string import Template
|
from string import Template
|
||||||
from typing import Dict, List
|
from typing import Dict, List, Optional
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
import koji
|
import koji
|
||||||
|
|
@ -209,11 +209,20 @@ class Client:
|
||||||
|
|
||||||
return certs
|
return certs
|
||||||
|
|
||||||
|
def request(self, method: str, url: str, js: Optional[Dict] = None):
|
||||||
|
return self.http.request(method, url, json=js)
|
||||||
|
|
||||||
|
def get(self, url: str) -> requests.Response:
|
||||||
|
return self.request("GET", url)
|
||||||
|
|
||||||
|
def post(self, url: str, js: Optional[Dict] = None):
|
||||||
|
return self.request("POST", url, js=js)
|
||||||
|
|
||||||
def compose_create(self, compose_request: ComposeRequest):
|
def compose_create(self, compose_request: ComposeRequest):
|
||||||
url = urllib.parse.urljoin(self.url, "compose")
|
url = urllib.parse.urljoin(self.url, "compose")
|
||||||
|
|
||||||
data = compose_request.as_dict()
|
data = compose_request.as_dict()
|
||||||
res = self.http.post(url, json=data)
|
res = self.post(url, js=data)
|
||||||
|
|
||||||
if res.status_code != 201:
|
if res.status_code != 201:
|
||||||
body = res.content.decode("utf-8").strip()
|
body = res.content.decode("utf-8").strip()
|
||||||
|
|
@ -226,7 +235,7 @@ class Client:
|
||||||
def compose_status(self, compose_id: str):
|
def compose_status(self, compose_id: str):
|
||||||
url = urllib.parse.urljoin(self.url, f"compose/{compose_id}")
|
url = urllib.parse.urljoin(self.url, f"compose/{compose_id}")
|
||||||
|
|
||||||
res = self.http.get(url)
|
res = self.get(url)
|
||||||
|
|
||||||
if res.status_code != 200:
|
if res.status_code != 200:
|
||||||
body = res.content.decode("utf-8").strip()
|
body = res.content.decode("utf-8").strip()
|
||||||
|
|
@ -238,7 +247,7 @@ class Client:
|
||||||
def compose_logs(self, compose_id: str):
|
def compose_logs(self, compose_id: str):
|
||||||
url = urllib.parse.urljoin(self.url, f"compose/{compose_id}/logs")
|
url = urllib.parse.urljoin(self.url, f"compose/{compose_id}/logs")
|
||||||
|
|
||||||
res = self.http.get(url)
|
res = self.get(url)
|
||||||
|
|
||||||
if res.status_code != 200:
|
if res.status_code != 200:
|
||||||
body = res.content.decode("utf-8").strip()
|
body = res.content.decode("utf-8").strip()
|
||||||
|
|
@ -250,7 +259,7 @@ class Client:
|
||||||
def compose_manifests(self, compose_id: str):
|
def compose_manifests(self, compose_id: str):
|
||||||
url = urllib.parse.urljoin(self.url, f"compose/{compose_id}/manifests")
|
url = urllib.parse.urljoin(self.url, f"compose/{compose_id}/manifests")
|
||||||
|
|
||||||
res = self.http.get(url)
|
res = self.get(url)
|
||||||
|
|
||||||
if res.status_code != 200:
|
if res.status_code != 200:
|
||||||
body = res.content.decode("utf-8").strip()
|
body = res.content.decode("utf-8").strip()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue