Skip to content
Snippets Groups Projects

Fix create_element and custom SSL cert

Merged Erwan Rouchet requested to merge fix-post into master
1 file
+ 2
2
Compare changes
  • Side-by-side
  • Inline
+ 8
2
@@ -2,6 +2,7 @@
Arkindex API Client
"""
import requests
import os
from urllib.parse import urljoin
@@ -9,17 +10,21 @@ class ArkindexAPI(object):
DEFAULT_BASE_URL = 'https://arkindex.teklia.com/api/v1/'
def __init__(self, token=None, base_url=DEFAULT_BASE_URL):
def __init__(self, token=None, base_url=DEFAULT_BASE_URL, verify_ssl=True):
self.auth = ArkindexTokenAuth(token) if token else None
self.base_url = str(base_url)
if not self.base_url.endswith('/'):
self.base_url += '/'
if isinstance(verify_ssl, str):
assert os.path.exists(verify_ssl)
self.verify_ssl = verify_ssl
def get(self, endpoint, params={}, requires_auth=False):
response = requests.get(
urljoin(self.base_url, endpoint),
params=params,
auth=self._get_auth(requires_auth),
verify=self.verify_ssl,
)
response.raise_for_status()
return response.json()
@@ -30,6 +35,7 @@ class ArkindexAPI(object):
params=params,
json=json,
auth=self._get_auth(requires_auth),
verify=self.verify_ssl,
)
response.raise_for_status()
return response.json()
@@ -44,7 +50,7 @@ class ArkindexAPI(object):
return ResponsePaginator(self, 'elements/{}/pages'.format(id))
def create_element(self, **kwargs):
self.post('element', json=kwargs, requires_auth=True)
return self.post('element', json=kwargs, requires_auth=True)
def _get_auth(self, requires_auth):
if not requires_auth:
Loading