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.

BaseAPI(host: str, api_key: str = None)
 9    def __init__(self, host: str, api_key: str = None):
10        self.host = host
11        self.api_key = api_key
host
api_key
headers
def get(self, url: str, params: dict = None):
26    def get(self, url: str, params: dict = None):
27        return self._send_request(requests.get, url, params=params)
def post(self, url: str, json: dict = None):
29    def post(self, url: str, json: dict = None):
30        return self._send_request(requests.post, url, json=json)
def patch(self, url: str, json: dict = None):
32    def patch(self, url: str, json: dict = None):
33        return self._send_request(requests.patch, url, json=json)
def delete(self, url: str):
35    def delete(self, url: str):
36        return self._send_request(requests.delete, url)