1
Fork 0
mirror of https://github.com/RGBCube/GitHubWrapper synced 2025-05-18 15:05:08 +00:00

Added bits for an Auth to increase ratelimits

This commit is contained in:
sudosnok 2022-03-26 21:37:24 +00:00
parent d32ec86671
commit 01050b4700

View file

@ -27,24 +27,25 @@ trace_config = aiohttp.TraceConfig()
trace_config.on_request_start.append(on_req_start) trace_config.on_request_start.append(on_req_start)
trace_config.on_request_end.append(on_req_end) trace_config.on_request_end.append(on_req_end)
async def make_session(*, headers: dict[str, str]) -> aiohttp.ClientSession: async def make_session(*, headers: dict[str, str], authorization: aiohttp.BasicAuth | None) -> aiohttp.ClientSession:
"""This makes the ClientSession, attaching the trace config and ensuring a UA header is present.""" """This makes the ClientSession, attaching the trace config and ensuring a UA header is present."""
if not headers.get('User-Agent'): if not headers.get('User-Agent'):
headers['User-Agent'] = 'Github-API-Wrapper' headers['User-Agent'] = 'Github-API-Wrapper'
session = aiohttp.ClientSession( session = aiohttp.ClientSession(
auth=authorization,
headers=headers, headers=headers,
trace_configs=[trace_config] trace_configs=[trace_config]
) )
return session return session
# user-related functions / utils # user-related functions / utils
GitHubUserData = dict[str, str|int] GitHubUserData = dict[str, str | int]
async def get_user(session: aiohttp.ClientSession, *, _username: str) -> GitHubUserData: async def get_user(session: aiohttp.ClientSession, username: str) -> GitHubUserData:
"""Returns a user's public data in JSON format.""" """Returns a user's public data in JSON format."""
result = await session.get(USERS_URL.format(_username)) result = await session.get(USERS_URL.format(username))
if result.status == 200: if result.status == 200:
return await result.json() return await result.json()
raise UserNotFound() raise UserNotFound