pinecone.core.api_base
1import requests 2from requests.exceptions import HTTPError 3 4 5class BaseAPI: 6 """Base class for HTTP API calls.""" 7 8 def __init__(self, host: str, api_key: str = None): 9 self.host = host 10 self.api_key = api_key 11 12 @property 13 def headers(self): 14 return {"api-key": self.api_key} 15 16 def _send_request(self, request_handler, url, **kwargs): 17 response = request_handler("{0}{1}".format(self.host, url), headers=self.headers, **kwargs) 18 try: 19 response.raise_for_status() 20 except HTTPError as e: 21 e.args = e.args + (response.text,) 22 raise e 23 return response.json() 24 25 def get(self, url: str, params: dict = None): 26 return self._send_request(requests.get, url, params=params) 27 28 def post(self, url: str, json: dict = None): 29 return self._send_request(requests.post, url, json=json) 30 31 def patch(self, url: str, json: dict = None): 32 return self._send_request(requests.patch, url, json=json) 33 34 def delete(self, url: str): 35 return self._send_request(requests.delete, url)
class
BaseAPI:
6class BaseAPI: 7 """Base class for HTTP API calls.""" 8 9 def __init__(self, host: str, api_key: str = None): 10 self.host = host 11 self.api_key = api_key 12 13 @property 14 def headers(self): 15 return {"api-key": self.api_key} 16 17 def _send_request(self, request_handler, url, **kwargs): 18 response = request_handler("{0}{1}".format(self.host, url), headers=self.headers, **kwargs) 19 try: 20 response.raise_for_status() 21 except HTTPError as e: 22 e.args = e.args + (response.text,) 23 raise e 24 return response.json() 25 26 def get(self, url: str, params: dict = None): 27 return self._send_request(requests.get, url, params=params) 28 29 def post(self, url: str, json: dict = None): 30 return self._send_request(requests.post, url, json=json) 31 32 def patch(self, url: str, json: dict = None): 33 return self._send_request(requests.patch, url, json=json) 34 35 def delete(self, url: str): 36 return self._send_request(requests.delete, url)
Base class for HTTP API calls.