Module aiogithubapi.legacy.client
AIOGitHubAPI: AioGitHubClient
This is the class that do the requests against the API It also keeps track of ratelimits
Expand source code
"""
AIOGitHubAPI: AioGitHubClient
This is the class that do the requests against the API
It also keeps track of ratelimits
"""
# pylint: disable=redefined-builtin, too-many-arguments
from __future__ import annotations
from typing import Optional
import aiohttp
from ..common.const import BASE_API_HEADERS, BASE_API_URL
from ..helpers import async_call_api
from ..objects.base import AIOGitHubAPIBase, AIOGitHubAPIResponse
from ..objects.ratelimit import AIOGitHubAPIRateLimit
class AIOGitHubAPIClient(AIOGitHubAPIBase):
"""
Client to handle API calls.
Deprecated: Used by old versions of the library.
"""
def __init__(
self,
session: aiohttp.ClientSession,
token: str,
headers: Optional[dict] = None,
base_url: Optional[str] = None,
) -> None:
"""Initialize the API client."""
self.session = session
self.base_url = base_url or BASE_API_URL
self.last_response: Optional[AIOGitHubAPIResponse] = None
self.token = token
self.ratelimits = AIOGitHubAPIRateLimit()
self.headers = {}
self.headers.update(BASE_API_HEADERS)
self.headers.update(headers or {})
if token is not None:
self.headers["Authorization"] = "token {}".format(token)
async def get(
self,
endpoint: str,
returnjson: bool = True,
headers: dict or None = None,
params: dict or None = None,
) -> AIOGitHubAPIResponse:
"""Execute a GET request."""
url = f"{self.base_url}{endpoint}"
_headers = {}
_headers.update(self.headers)
_headers.update(headers or {})
response = await async_call_api(
session=self.session,
method="GET",
url=url,
returnjson=returnjson,
headers=_headers,
params=params,
)
self.ratelimits.load_from_response_headers(response.headers)
self.last_response = response
return response
async def post(
self,
endpoint: str,
returnjson: bool = False,
headers: dict or None = None,
params: dict or None = None,
data: dict or str or None = None,
jsondata: bool = False,
) -> AIOGitHubAPIResponse:
"""Execute a POST request."""
url = f"{self.base_url}{endpoint}"
_headers = {}
_headers.update(self.headers)
_headers.update(headers or {})
response = await async_call_api(
session=self.session,
method="POST",
url=url,
returnjson=returnjson,
headers=_headers,
params=params,
data=data,
jsondata=jsondata,
)
self.ratelimits.load_from_response_headers(response.headers)
self.last_response = response
return response
Classes
class AIOGitHubAPIClient (session: aiohttp.ClientSession, token: str, headers: Optional[dict] = None, base_url: Optional[str] = None)
-
Client to handle API calls.
Deprecated: Used by old versions of the library.
Initialize the API client.
Expand source code
class AIOGitHubAPIClient(AIOGitHubAPIBase): """ Client to handle API calls. Deprecated: Used by old versions of the library. """ def __init__( self, session: aiohttp.ClientSession, token: str, headers: Optional[dict] = None, base_url: Optional[str] = None, ) -> None: """Initialize the API client.""" self.session = session self.base_url = base_url or BASE_API_URL self.last_response: Optional[AIOGitHubAPIResponse] = None self.token = token self.ratelimits = AIOGitHubAPIRateLimit() self.headers = {} self.headers.update(BASE_API_HEADERS) self.headers.update(headers or {}) if token is not None: self.headers["Authorization"] = "token {}".format(token) async def get( self, endpoint: str, returnjson: bool = True, headers: dict or None = None, params: dict or None = None, ) -> AIOGitHubAPIResponse: """Execute a GET request.""" url = f"{self.base_url}{endpoint}" _headers = {} _headers.update(self.headers) _headers.update(headers or {}) response = await async_call_api( session=self.session, method="GET", url=url, returnjson=returnjson, headers=_headers, params=params, ) self.ratelimits.load_from_response_headers(response.headers) self.last_response = response return response async def post( self, endpoint: str, returnjson: bool = False, headers: dict or None = None, params: dict or None = None, data: dict or str or None = None, jsondata: bool = False, ) -> AIOGitHubAPIResponse: """Execute a POST request.""" url = f"{self.base_url}{endpoint}" _headers = {} _headers.update(self.headers) _headers.update(headers or {}) response = await async_call_api( session=self.session, method="POST", url=url, returnjson=returnjson, headers=_headers, params=params, data=data, jsondata=jsondata, ) self.ratelimits.load_from_response_headers(response.headers) self.last_response = response return response
Ancestors
Subclasses
Methods
async def get(self, endpoint: str, returnjson: bool = True, headers: dict or None = None, params: dict or None = None) ‑> AIOGitHubAPIResponse
-
Execute a GET request.
Expand source code
async def get( self, endpoint: str, returnjson: bool = True, headers: dict or None = None, params: dict or None = None, ) -> AIOGitHubAPIResponse: """Execute a GET request.""" url = f"{self.base_url}{endpoint}" _headers = {} _headers.update(self.headers) _headers.update(headers or {}) response = await async_call_api( session=self.session, method="GET", url=url, returnjson=returnjson, headers=_headers, params=params, ) self.ratelimits.load_from_response_headers(response.headers) self.last_response = response return response
async def post(self, endpoint: str, returnjson: bool = False, headers: dict or None = None, params: dict or None = None, data: dict or str or None = None, jsondata: bool = False) ‑> AIOGitHubAPIResponse
-
Execute a POST request.
Expand source code
async def post( self, endpoint: str, returnjson: bool = False, headers: dict or None = None, params: dict or None = None, data: dict or str or None = None, jsondata: bool = False, ) -> AIOGitHubAPIResponse: """Execute a POST request.""" url = f"{self.base_url}{endpoint}" _headers = {} _headers.update(self.headers) _headers.update(headers or {}) response = await async_call_api( session=self.session, method="POST", url=url, returnjson=returnjson, headers=_headers, params=params, data=data, jsondata=jsondata, ) self.ratelimits.load_from_response_headers(response.headers) self.last_response = response return response