11__all__ = ["Request" ]
22
3+ from importlib .metadata import version
34from typing import Any , MutableMapping , Optional
45
56from arango .typings import DriverFlags , Fields , Headers , Params
89def normalize_headers (
910 headers : Optional [Headers ], driver_flags : Optional [DriverFlags ] = None
1011) -> Headers :
11- flags = ""
12- if driver_flags is not None :
13- for flag in driver_flags :
14- flags = flags + flag + ";"
15- driver_version = "7.5.3"
16- driver_header = "python-arango/" + driver_version + " (" + flags + ")"
12+ driver_header = generate_driver_header (driver_flags )
1713 normalized_headers : Headers = {
1814 "charset" : "utf-8" ,
1915 "content-type" : "application/json" ,
@@ -26,6 +22,18 @@ def normalize_headers(
2622 return normalized_headers
2723
2824
25+ def generate_driver_header (driver_flags : Optional [DriverFlags ] = None ) -> str :
26+ flags : str = ""
27+ if driver_flags is not None :
28+ for flag in driver_flags :
29+ flags = flags + flag + ";"
30+ name : str = "python-arango"
31+ driver_version : str = "." .join (version (name ).split ("." )[:3 ]) # Only keep semver
32+ driver_header : str = name + "/" + driver_version + " (" + flags + ")"
33+
34+ return driver_header
35+
36+
2937def normalize_params (params : Optional [Params ]) -> MutableMapping [str , str ]:
3038 normalized_params : MutableMapping [str , str ] = {}
3139
0 commit comments