Skip to content

Commit 0319d44

Browse files
[core] feat: add support for parameters in RestApiClient
1 parent 64af07b commit 0319d44

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

libs/core/garf_core/api_clients.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,18 @@ def __init__(self, endpoint: str, **kwargs: str) -> None:
6868
def get_response(
6969
self, request: query_editor.BaseQueryElements, **kwargs: str
7070
) -> GarfApiResponse:
71-
response = requests.get(f'{self.endpoint}/{request.resource_name}')
71+
url = f'{self.endpoint}/{request.resource_name}'
72+
params = {}
73+
for param in request.filters:
74+
key, value = param.split('=')
75+
params[key.strip()] = value.strip()
76+
response = requests.get(url, params=params, headers=kwargs)
7277
if response.status_code == self.OK:
73-
return GarfApiResponse(results=response.json())
74-
raise GarfApiError('Failed to get data from API')
78+
results = response.json()
79+
if not isinstance(results, list):
80+
results = [results]
81+
return GarfApiResponse(results=results)
82+
raise GarfApiError('Failed to get data from API, reason: ', response.text)
7583

7684

7785
class FakeApiClient(BaseClient):

0 commit comments

Comments
 (0)