INNER CODE UNIT · Python
_graphql_request
shuvonsec/claude-bug-bounty · mcp/hackerone-mcp/server.py:66
def _graphql_request(query: str, timeout: int = DEFAULT_TIMEOUT) -> dict:
"""Execute a GraphQL request against HackerOne's public API."""
payload = json.dumps({"query": query}).encode("utf-8")
req = urllib.request.Request(
H1_GRAPHQL,
data=payload,
headers={
"Content-Type": "application/json",
"User-Agent": "agentic-bug-hunter/2.1",
},
)
try:
with urllib.request.urlopen(req, timeout=timeout, context=_SSL_CTX) as resp:
body = resp.read().decode("utf-8", errors="replace")
data = json.loads(body)
if "errors" in data:
raise HackerOneAPIError(
f"GraphQL errors: {data['errors']}",