@@ -82,8 +82,32 @@ def get_updated_request_builder(request_builder, input_pointer, offset):
8282 header_params = ApiHelper .update_entry_by_json_pointer (
8383 header_params .copy (), field_path , offset , inplace = True )
8484
85- return request_builder .clone_with (
86- template_params = template_params ,
87- query_params = query_params ,
88- header_params = header_params
89- )
85+ return request_builder .clone_with (template_params = template_params , query_params = query_params ,
86+ header_params = header_params )
87+
88+ @staticmethod
89+ def _get_initial_request_param_value (request_builder , input_pointer , default = 0 ):
90+ """
91+ Extracts the initial pagination offset value from the request builder using the specified JSON pointer.
92+
93+ Args:
94+ request_builder: The request builder containing path, query, and header parameters.
95+ input_pointer (str): JSON pointer indicating which parameter to extract.
96+ default (int, optional): The value to return if the parameter is not found. Defaults to 0.
97+
98+ Returns:
99+ int: The initial offset value from the specified parameter, or default if not found.
100+ """
101+ path_prefix , field_path = ApiHelper .split_into_parts (input_pointer )
102+
103+ if path_prefix == "$request.path" :
104+ value = ApiHelper .get_value_by_json_pointer (request_builder .template_params , field_path )
105+ return int (value ) if value is not None else default
106+ elif path_prefix == "$request.query" :
107+ value = ApiHelper .get_value_by_json_pointer (request_builder .query_params , field_path )
108+ return int (value ) if value is not None else default
109+ elif path_prefix == "$request.headers" :
110+ value = ApiHelper .get_value_by_json_pointer (request_builder .header_params , field_path )
111+ return int (value ) if value is not None else default
112+
113+ return default
0 commit comments