-
Notifications
You must be signed in to change notification settings - Fork 676
Expand file tree
/
Copy pathgraphql.py
More file actions
44 lines (33 loc) · 1.42 KB
/
graphql.py
File metadata and controls
44 lines (33 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from typing import Any
import httpx
from gql.transport.httpx import HTTPXAsyncTransport, HTTPXTransport
class GitlabTransport(HTTPXTransport):
"""A gql httpx transport that reuses an existing httpx.Client.
By default, gql's transports do not have a keep-alive session
and do not enable providing your own session that's kept open.
This transport lets us provide and close our session on our own
and provide additional auth.
For details, see https://github.com/graphql-python/gql/issues/91.
"""
def __init__(self, *args: Any, client: httpx.Client, **kwargs: Any):
super().__init__(*args, **kwargs)
self.client = client
def connect(self) -> None:
pass
def close(self) -> None:
pass
class GitlabAsyncTransport(HTTPXAsyncTransport):
"""An async gql httpx transport that reuses an existing httpx.AsyncClient.
By default, gql's transports do not have a keep-alive session
and do not enable providing your own session that's kept open.
This transport lets us provide and close our session on our own
and provide additional auth.
For details, see https://github.com/graphql-python/gql/issues/91.
"""
def __init__(self, *args: Any, client: httpx.AsyncClient, **kwargs: Any):
super().__init__(*args, **kwargs)
self.client = client
async def connect(self) -> None:
pass
async def close(self) -> None:
pass