Best Python code snippet using localstack_python
generic_proxy.py
Source:generic_proxy.py
...129 else:130 self.data_bytes += tmp131 except socket.timeout:132 break133 def build_x_forwarded_for(self, headers):134 x_forwarded_for = headers.get('X-Forwarded-For')135 client_address = self.client_address[0]136 server_address = ':'.join(map(str, self.server.server_address))137 if x_forwarded_for:138 x_forwarded_for_list = (x_forwarded_for, client_address, server_address)139 else:140 x_forwarded_for_list = (client_address, server_address)141 return ', '.join(x_forwarded_for_list)142 def forward(self, method):143 path = self.path144 if '://' in path:145 path = '/' + path.split('://', 1)[1].split('/', 1)[1]146 proxy_url = '%s%s' % (self.proxy.forward_url, path)147 target_url = self.path148 if '://' not in target_url:149 target_url = '%s%s' % (self.proxy.forward_url, target_url)150 data = self.data_bytes151 forward_headers = CaseInsensitiveDict(self.headers)152 # update original "Host" header (moto s3 relies on this behavior)153 if not forward_headers.get('Host'):154 forward_headers['host'] = urlparse(target_url).netloc155 if 'localhost.atlassian.io' in forward_headers.get('Host'):156 forward_headers['host'] = 'localhost'157 forward_headers['X-Forwarded-For'] = self.build_x_forwarded_for(forward_headers)158 try:159 response = None160 modified_request = None161 # update listener (pre-invocation)162 if self.proxy.update_listener:163 listener_result = self.proxy.update_listener.forward_request(method=method,164 path=path, data=data, headers=forward_headers)165 if isinstance(listener_result, Response):166 response = listener_result167 elif isinstance(listener_result, Request):168 modified_request = listener_result169 data = modified_request.data170 forward_headers = modified_request.headers171 elif listener_result is not True:...
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!!