(
*,
settings: Settings,
query: str,
after: str | None = None,
)
| 90 | |
| 91 | |
| 92 | def get_graphql_response( |
| 93 | *, |
| 94 | settings: Settings, |
| 95 | query: str, |
| 96 | after: str | None = None, |
| 97 | ) -> dict[str, Any]: |
| 98 | headers = {"Authorization": f"token {settings.sponsors_token.get_secret_value()}"} |
| 99 | variables = {"after": after} |
| 100 | response = httpx.post( |
| 101 | github_graphql_url, |
| 102 | headers=headers, |
| 103 | timeout=settings.httpx_timeout, |
| 104 | json={"query": query, "variables": variables, "operationName": "Q"}, |
| 105 | ) |
| 106 | if response.status_code != 200: |
| 107 | logging.error(f"Response was not 200, after: {after}") |
| 108 | logging.error(response.text) |
| 109 | raise RuntimeError(response.text) |
| 110 | data = response.json() |
| 111 | if "errors" in data: |
| 112 | logging.error(f"Errors in response, after: {after}") |
| 113 | logging.error(data["errors"]) |
| 114 | logging.error(response.text) |
| 115 | raise RuntimeError(response.text) |
| 116 | return data |
| 117 | |
| 118 | |
| 119 | def get_graphql_sponsor_edges( |
no test coverage detected
searching dependent graphs…