Best Python code snippet using localstack_python
generic_proxy.py
Source:generic_proxy.py
...212 self, method: str, path: str, data: MessagePayload, headers: Headers213 ) -> Optional[RoutingRequest]:214 return RoutingRequest(215 method=method,216 path=self._adjust_partition_in_path(path, self.DEFAULT_INBOUND_PARTITION),217 data=self._adjust_partition(data, self.DEFAULT_INBOUND_PARTITION),218 headers=self._adjust_partition(headers, self.DEFAULT_INBOUND_PARTITION),219 )220 def return_response(221 self,222 method: str,223 path: str,224 data: MessagePayload,225 headers: Headers,226 response: Response,227 ) -> Optional[RoutingResponse]:228 # Only handle responses for calls from external clients229 if is_internal_call_context(headers):230 return None231 return RoutingResponse(232 status_code=response.status_code,233 content=self._adjust_partition(response.content),234 headers=self._adjust_partition(response.headers),235 )236 def _adjust_partition_in_path(self, path: str, static_partition: str = None):237 """Adjusts the (still url encoded) URL path"""238 parsed_url = urlparse(path)239 # Make sure to keep blank values, otherwise we drop query params which do not have a240 # value (f.e. "/?policy")241 decoded_query = parse_qs(qs=parsed_url.query, keep_blank_values=True)242 adjusted_path = self._adjust_partition(parsed_url.path, static_partition)243 adjusted_query = self._adjust_partition(decoded_query, static_partition)244 encoded_query = urlencode(adjusted_query, doseq=True)245 # Make sure to avoid empty equals signs (in between and in the end)246 encoded_query = encoded_query.replace("=&", "&")247 encoded_query = re.sub(r"=$", "", encoded_query)248 return f"{adjusted_path}{('?' + encoded_query) if encoded_query else ''}"249 def _adjust_partition(self, source, static_partition: str = None):250 # Call this function recursively if we get a dictionary or a list...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!