MCPcopy Create free account
hub / github.com/fastapi/fastapi / get_graphql_response

Function get_graphql_response

scripts/notify_translations.py:198–236  ·  view source on GitHub ↗
(
    *,
    settings: Settings,
    query: str,
    after: str | None = None,
    category_id: str | None = None,
    discussion_number: int | None = None,
    discussion_id: str | None = None,
    comment_id: str | None = None,
    body: str | None = None,
)

Source from the content-addressed store, hash-verified

196
197
198def get_graphql_response(
199 *,
200 settings: Settings,
201 query: str,
202 after: str | None = None,
203 category_id: str | None = None,
204 discussion_number: int | None = None,
205 discussion_id: str | None = None,
206 comment_id: str | None = None,
207 body: str | None = None,
208) -> dict[str, Any]:
209 headers = {"Authorization": f"token {settings.github_token.get_secret_value()}"}
210 variables = {
211 "after": after,
212 "category_id": category_id,
213 "discussion_number": discussion_number,
214 "discussion_id": discussion_id,
215 "comment_id": comment_id,
216 "body": body,
217 }
218 response = httpx.post(
219 github_graphql_url,
220 headers=headers,
221 timeout=settings.httpx_timeout,
222 json={"query": query, "variables": variables, "operationName": "Q"},
223 )
224 if response.status_code != 200:
225 logging.error(
226 f"Response was not 200, after: {after}, category_id: {category_id}"
227 )
228 logging.error(response.text)
229 raise RuntimeError(response.text)
230 data = response.json()
231 if "errors" in data:
232 logging.error(f"Errors in response, after: {after}, category_id: {category_id}")
233 logging.error(data["errors"])
234 logging.error(response.text)
235 raise RuntimeError(response.text)
236 return cast(dict[str, Any], data)
237
238
239def get_graphql_translation_discussions(

Calls 1

postMethod · 0.45

Tested by

no test coverage detected