From 2fd3f9fb2b6fcaee2a579722cee91d13d5e87ecd Mon Sep 17 00:00:00 2001 From: "daniel.x.olsson@ri.se" Date: Mon, 2 Jan 2023 15:30:55 +0100 Subject: Added SSL verify option and fixed edit function --- phpipam_api/backend.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'phpipam_api/backend.py') diff --git a/phpipam_api/backend.py b/phpipam_api/backend.py index 85079df..b5ad180 100755 --- a/phpipam_api/backend.py +++ b/phpipam_api/backend.py @@ -18,10 +18,11 @@ class ApiObjectNotFoundException(Exception): pass class PhpipamBackend: - def __init__(self, api_url, app_id, api_user, api_password): + def __init__(self, api_url, app_id, api_user, api_password, verify=True): self.api_url = api_url.strip('/') + '/api/' + app_id self.api_user = api_user self.api_password = api_password + self.verify = verify # Check for static auth if len(self.api_user) == 0: @@ -31,7 +32,7 @@ class PhpipamBackend: self._getApiToken() def _getApiToken(self): - data = requests.post(self.api_url + "/user", auth=(self.api_user,self.api_password)).json() + data = requests.post(self.api_url + "/user", auth=(self.api_user,self.api_password), verify=self.verify).json() if not data['success']: raise ApiConnectionException('Failed to authenticate: ' + str(data['code']) + ' ' + data['message']) @@ -52,10 +53,11 @@ class PhpipamBackend: if self._isTokenExpired(): self._getApiToken() - data = requests.request(method, self.api_url + url, data=data, headers={'token':self.api_token}).json() + data = requests.request(method, self.api_url + url, data=data, headers={'token':self.api_token}, verify=self.verify).json() if not 'success' in data or not data['success']: raise ApiQueryException("Query failed with code " + str(data['code']) + ": " + str(data['message'])) - - return data['data'] + if 'data' in data: + return data['data'] + return data -- cgit v1.2.3 From b01e38d1f6f1aa7ec3d243fe3d2658e6abfddcec Mon Sep 17 00:00:00 2001 From: "daniel.x.olsson@ri.se" Date: Mon, 2 Jan 2023 16:31:00 +0100 Subject: Added optional "verify" argument to __init__ for main class --- phpipam_api/__init__.py | 6 ++++-- phpipam_api/backend.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'phpipam_api/backend.py') diff --git a/phpipam_api/__init__.py b/phpipam_api/__init__.py index 1dc065f..3c3fc06 100755 --- a/phpipam_api/__init__.py +++ b/phpipam_api/__init__.py @@ -20,7 +20,7 @@ class PhpipamAPI: https://phpipam.net/api-documentation/ """ - def __init__(self, api_url, app_id, api_user, api_password): + def __init__(self, api_url, app_id, api_user, api_password, verify=False): """ Parameters ---------- @@ -32,9 +32,11 @@ class PhpipamAPI: username, leave empty to use static token authentification api_password : str password or static authentification token + verify : Bool (optional) + verify API server SSL certificate """ - self._backend = PhpipamBackend(api_url, app_id, api_user, api_password) + self._backend = PhpipamBackend(api_url, app_id, api_user, api_password, verify) def __getattr__(self, item): return PhpipamResource(self._backend, item) diff --git a/phpipam_api/backend.py b/phpipam_api/backend.py index b5ad180..b334ed2 100755 --- a/phpipam_api/backend.py +++ b/phpipam_api/backend.py @@ -18,7 +18,7 @@ class ApiObjectNotFoundException(Exception): pass class PhpipamBackend: - def __init__(self, api_url, app_id, api_user, api_password, verify=True): + def __init__(self, api_url, app_id, api_user, api_password, verify): self.api_url = api_url.strip('/') + '/api/' + app_id self.api_user = api_user self.api_password = api_password -- cgit v1.2.3