File tree Expand file tree Collapse file tree 3 files changed +38
-1
lines changed Expand file tree Collapse file tree 3 files changed +38
-1
lines changed Original file line number Diff line number Diff line change @@ -98,6 +98,7 @@ def __init__(
9898 self ._session .proxies .update (proxies )
9999 if cookies :
100100 self ._session .cookies .update (cookies )
101+ self .request_id = kwargs .get ("request_id" )
101102 self ._session .headers .update (
102103 {
103104 "accept" : "application/json, */8" ,
@@ -112,6 +113,29 @@ def __init__(
112113 }
113114 )
114115
116+ @property
117+ def request_id (self ) -> Optional [str ]:
118+ """The x-request-id header value for API requests.
119+
120+ The x-request-id header is not set when the value is None.
121+ Value is None by default
122+
123+ Returns:
124+ Type[Optional[str]]: The value of the header.
125+ """
126+ value = self ._session .headers .get ("x-request-id" )
127+ if not isinstance (value , str ):
128+ return None
129+ return value
130+
131+ @request_id .setter
132+ def request_id (self , value : Optional [str ]):
133+ if value is None :
134+ self ._session .headers .pop ("x-request-id" , None )
135+ return
136+
137+ self ._session .headers ["x-request-id" ] = value
138+
115139 @staticmethod
116140 def _get_exception_class (_ : Response ) -> Type [CensysAPIException ]:
117141 """Maps HTTP status code or ASM error code to exception.
Original file line number Diff line number Diff line change 11[tool .poetry ]
22name = " censys"
3- version = " 2.2.11 "
3+ version = " 2.2.12 "
44description = " An easy-to-use and lightweight API wrapper for Censys APIs (censys.io)."
55authors = [" Censys, Inc. <support@censys.io>" ]
66license = " Apache-2.0"
Original file line number Diff line number Diff line change @@ -96,6 +96,19 @@ def test_user_agent(self):
9696 == requests .utils .default_user_agent () + " test"
9797 )
9898
99+ def test_request_id (self ):
100+ id_value = "my-request-id"
101+
102+ # Test request id value is present
103+ base = CensysAPIBase (TEST_URL , request_id = id_value )
104+ assert base .request_id == id_value
105+ assert base ._session .headers .get ("x-request-id" ) == id_value
106+
107+ # Test request id value is not present
108+ base .request_id = None
109+ assert base .request_id is None
110+ assert base ._session .headers .get ("x-request-id" ) is None
111+
99112 @pytest .mark .filterwarnings ("ignore:HTTP proxies will not be used." )
100113 def test_proxies (self ):
101114 # Mock/actual call
You can’t perform that action at this time.
0 commit comments