55
66from __future__ import annotations
77
8- from os import path
98from typing import Any
109
1110from .error_handler import ApiError
@@ -16,7 +15,7 @@ def handle_inbox(
1615 _domain : str | None ,
1716 _method : str | None ,
1817 ** kwargs : Any ,
19- ) -> Any :
18+ ) -> str :
2019 """Handle inbox placement.
2120
2221 :param url: Incoming URL dictionary
@@ -29,31 +28,26 @@ def handle_inbox(
2928 :return: final url for inbox placement endpoint
3029 :raises: ApiError
3130 """
32- final_keys = path .join ("/" , * url ["keys" ]) if url ["keys" ] else ""
33- if "test_id" in kwargs :
34- if "counters" in kwargs :
35- if kwargs ["counters" ]:
36- url = url ["base" ][:- 1 ] + final_keys + "/" + kwargs ["test_id" ] + "/counters"
37- else :
38- raise ApiError ("Counters option should be True or absent" )
39- elif "checks" in kwargs :
40- if kwargs ["checks" ]:
41- if "address" in kwargs :
42- url = (
43- url ["base" ][:- 1 ]
44- + final_keys
45- + "/"
46- + kwargs ["test_id" ]
47- + "/checks/"
48- + kwargs ["address" ]
49- )
50- else :
51- url = url ["base" ][:- 1 ] + final_keys + "/" + kwargs ["test_id" ] + "/checks"
52- else :
53- raise ApiError ("Checks option should be True or absent" )
54- else :
55- url = url ["base" ][:- 1 ] + final_keys + "/" + kwargs ["test_id" ]
56- else :
57- url = url ["base" ][:- 1 ] + final_keys
58-
59- return url
31+ final_keys = "/" + "/" .join (url ["keys" ]) if url ["keys" ] else ""
32+ base_url = url ["base" ].rstrip ("/" )
33+ endpoint_url = f"{ base_url } { final_keys } "
34+
35+ if "test_id" not in kwargs :
36+ return endpoint_url
37+
38+ test_id = kwargs ["test_id" ]
39+ endpoint_url = f"{ endpoint_url } /{ test_id } "
40+
41+ if "counters" in kwargs :
42+ if kwargs ["counters" ]:
43+ return f"{ endpoint_url } /counters"
44+ raise ApiError ("Counters option should be True or absent" )
45+
46+ if "checks" in kwargs :
47+ if kwargs ["checks" ]:
48+ if "address" in kwargs :
49+ return f"{ endpoint_url } /checks/{ kwargs ['address' ]} "
50+ return f"{ endpoint_url } /checks"
51+ raise ApiError ("Checks option should be True or absent" )
52+
53+ return endpoint_url
0 commit comments