@@ -133,7 +133,6 @@ def _process_request(
133133 request_api : ShodanRestAPI | None ,
134134 filters_template : dict [str , FilterDefinition ] | None = None ,
135135 is_custom_query : bool = False ,
136- http_method_custom_query : str | None = None ,
137136 ) -> Union [dict [str , Any ], Any ]:
138137 """Sends a request to Shodan for the given targets and filters, handling retries and errors.
139138 This method constructs the query URL, applies optional filters, encodes it, and calls "_request_data".
@@ -143,26 +142,22 @@ def _process_request(
143142 request_api (ShodanRestAPI | None): The API endpoint definition to use.
144143 filters_template (dict[str, FilterDefinition] | None): Optional filters to apply to the query.
145144 is_custom_query (bool): Whether this is a custom query bypassing standard contract endpoints.
146- http_method_custom_query (str | None): HTTP method to use for a custom query.
147145
148146 Returns:
149147 Union[dict[str, Any], Any]: Either a structured dictionary with targets and results, or the raw API
150148 response for special queries.
151149 """
152150
153- targets = [raw_input ] if is_custom_query else raw_input
154- http_method = (
155- http_method_custom_query
156- if is_custom_query
157- else request_api .value .http_method
158- )
159- endpoint_template = raw_input if is_custom_query else request_api .value .endpoint
151+ targets = raw_input
152+ http_method = request_api .value .http_method
153+
154+ endpoint_template = request_api .value .endpoint
160155
161156 result = None
162157 results = []
163158 for target in targets :
164159 new_endpoint = endpoint_template
165- query_params = None
160+ query_params = target if is_custom_query else None
166161 encoded_for_shodan = None
167162
168163 if filters_template :
@@ -305,12 +300,12 @@ def _execute_contract(
305300 resolved_targets = getattr (inject_content , target_field , None )
306301
307302 if inject_content .contract == "custom_query" :
303+ resolved_targets = [f"query={ inject_content .custom_query } " ]
304+
308305 return self ._process_request (
309- raw_input = inject_content .custom_query ,
310- request_api = None ,
311- filters_template = None ,
306+ raw_input = resolved_targets ,
307+ request_api = ShodanRestAPI .SEARCH_SHODAN ,
312308 is_custom_query = True ,
313- http_method_custom_query = inject_content .http_method ,
314309 )
315310 else :
316311 target_property_selector = inject_content .target_property_selector
0 commit comments