|
2 | 2 |
|
3 | 3 | from typing import Any, MutableMapping, Optional |
4 | 4 |
|
5 | | -from arango.typings import Fields, Headers, Params |
6 | | - |
7 | | - |
8 | | -def normalize_headers(headers: Optional[Headers]) -> Headers: |
| 5 | +from arango.typings import Fields, Headers, Params, DriverFlags |
| 6 | + |
| 7 | +def normalize_headers(headers: Optional[Headers], driverFlags: Optional[DriverFlags] = None) -> Headers: |
| 8 | + flags = "" |
| 9 | + if driverFlags is not None: |
| 10 | + for flag in driverFlags: |
| 11 | + flags = flags + flag + ";"; |
| 12 | + driverInfo = "python-arango/7.5.2 (" + flags + ")" |
9 | 13 | normalized_headers: Headers = { |
10 | 14 | "charset": "utf-8", |
11 | 15 | "content-type": "application/json", |
| 16 | + "x-arango-driver": driverInfo, |
12 | 17 | } |
13 | 18 | if headers is not None: |
14 | 19 | for key, value in headers.items(): |
@@ -99,13 +104,15 @@ def __init__( |
99 | 104 | write: Optional[Fields] = None, |
100 | 105 | exclusive: Optional[Fields] = None, |
101 | 106 | deserialize: bool = True, |
| 107 | + driverFlags: Optional[DriverFlags] = None |
102 | 108 | ) -> None: |
103 | 109 | self.method = method |
104 | 110 | self.endpoint = endpoint |
105 | | - self.headers: Headers = normalize_headers(headers) |
| 111 | + self.headers: Headers = normalize_headers(headers, driverFlags) |
106 | 112 | self.params: MutableMapping[str, str] = normalize_params(params) |
107 | 113 | self.data = data |
108 | 114 | self.read = read |
109 | 115 | self.write = write |
110 | 116 | self.exclusive = exclusive |
111 | 117 | self.deserialize = deserialize |
| 118 | + self.driverFlags = driverFlags |
0 commit comments