INNER CODE UNIT · Python

GitHubClient

RockxyApp/Rockxy · .github/tools/cla_gate.py:42

class GitHubClient:
    def __init__(self, token: str, repo: str, api_url: str) -> None:
        self._token = token
        self._repo = repo
        self._api_url = api_url.rstrip("/")

    def _request(self, method: str, path: str, payload: dict | None = None) -> tuple[int, dict | list | None]:
        url = path if path.startswith("http") else f"{self._api_url}{path}"
        data = json.dumps(payload).encode("utf-8") if payload is not None else None
        request = urllib.request.Request(url, data=data, method=method)
        request.add_header("Authorization", f"Bearer {self._token}")
        request.add_header("Accept", "application/vnd.github+json")
        request.add_header("X-GitHub-Api-Version", "2022-11-28")
        request.add_header("User-Agent", "rockxy-cla-gate")
        if data is not None:
            request.add_header("Content-Type", "application/json")
        try:
            with urllib.request.urlopen(request) as response:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…