(
*,
settings: Settings,
query: str,
after: str | None = None,
category_id: str | None = None,
)
| 191 | |
| 192 | |
| 193 | def get_graphql_response( |
| 194 | *, |
| 195 | settings: Settings, |
| 196 | query: str, |
| 197 | after: str | None = None, |
| 198 | category_id: str | None = None, |
| 199 | ) -> dict[str, Any]: |
| 200 | headers = {"Authorization": f"token {settings.github_token.get_secret_value()}"} |
| 201 | variables = {"after": after, "category_id": category_id} |
| 202 | response = httpx.post( |
| 203 | github_graphql_url, |
| 204 | headers=headers, |
| 205 | timeout=settings.httpx_timeout, |
| 206 | json={"query": query, "variables": variables, "operationName": "Q"}, |
| 207 | ) |
| 208 | if response.status_code != 200: |
| 209 | logging.error( |
| 210 | f"Response was not 200, after: {after}, category_id: {category_id}" |
| 211 | ) |
| 212 | logging.error(response.text) |
| 213 | raise RuntimeError(response.text) |
| 214 | data = response.json() |
| 215 | if "errors" in data: |
| 216 | logging.error(f"Errors in response, after: {after}, category_id: {category_id}") |
| 217 | logging.error(data["errors"]) |
| 218 | logging.error(response.text) |
| 219 | raise RuntimeError(response.text) |
| 220 | return data |
| 221 | |
| 222 | |
| 223 | def get_graphql_question_discussion_edges( |
no test coverage detected
searching dependent graphs…