|
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