How to use _echo_headers method in localstack

Best Python code snippet using localstack_python

dumper.py

Source:dumper.py Github

copy

Full Screen

...41 text = indent(ident, text)42 click.secho(text, file=self.outfp, **style)43 if self.outfp:44 self.outfp.flush()45 def _echo_headers(self, headers):46 for k, v in headers.fields:47 k = strutils.bytes_to_escaped_str(k)48 v = strutils.bytes_to_escaped_str(v)49 out = "{}: {}".format(50 click.style(k, fg="blue"),51 click.style(v)52 )53 self.echo(out, ident=4)54 def _echo_message(self, message):55 _, lines, error = contentviews.get_message_content_view(56 self.default_contentview,57 message58 )59 if error:60 ctx.log.debug(error)61 if self.flow_detail == 3:62 lines_to_echo = itertools.islice(lines, 70)63 else:64 lines_to_echo = lines65 styles = dict(66 highlight=dict(bold=True),67 offset=dict(fg="blue"),68 header=dict(fg="green", bold=True),69 text=dict(fg="green")70 )71 content = u"\r\n".join(72 u"".join(colorful(line, styles)) for line in lines_to_echo73 )74 if content:75 self.echo("")76 self.echo(content)77 if next(lines, None):78 self.echo("(cut off)", ident=4, dim=True)79 if self.flow_detail >= 2:80 self.echo("")81 def _echo_request_line(self, flow):82 if flow.client_conn:83 client = click.style(84 strutils.escape_control_characters(85 repr(flow.client_conn.address)86 )87 )88 elif flow.request.is_replay:89 client = click.style("[replay]", fg="yellow", bold=True)90 else:91 client = ""92 pushed = ' PUSH_PROMISE' if 'h2-pushed-stream' in flow.metadata else ''93 method = flow.request.method + pushed94 method_color = dict(95 GET="green",96 DELETE="red"97 ).get(method.upper(), "magenta")98 method = click.style(99 strutils.escape_control_characters(method),100 fg=method_color,101 bold=True102 )103 if self.showhost:104 url = flow.request.pretty_url105 else:106 url = flow.request.url107 url = click.style(strutils.escape_control_characters(url), bold=True)108 http_version = ""109 if flow.request.http_version not in ("HTTP/1.1", "HTTP/1.0"):110 # We hide "normal" HTTP 1.111 http_version = " " + flow.request.http_version112 line = "{client}: {method} {url}{http_version}".format(113 client=client,114 method=method,115 url=url,116 http_version=http_version117 )118 self.echo(line)119 def _echo_response_line(self, flow):120 if flow.response.is_replay:121 replay = click.style("[replay] ", fg="yellow", bold=True)122 else:123 replay = ""124 code = flow.response.status_code125 code_color = None126 if 200 <= code < 300:127 code_color = "green"128 elif 300 <= code < 400:129 code_color = "magenta"130 elif 400 <= code < 600:131 code_color = "red"132 code = click.style(133 str(code),134 fg=code_color,135 bold=True,136 blink=(code == 418)137 )138 reason = click.style(139 strutils.escape_control_characters(flow.response.reason),140 fg=code_color,141 bold=True142 )143 if flow.response.raw_content is None:144 size = "(content missing)"145 else:146 size = human.pretty_size(len(flow.response.raw_content))147 size = click.style(size, bold=True)148 arrows = click.style(" <<", bold=True)149 if self.flow_detail == 1:150 # This aligns the HTTP response code with the HTTP request method:151 # 127.0.0.1:59519: GET http://example.com/152 # << 304 Not Modified 0b153 arrows = " " * (len(repr(flow.client_conn.address)) - 2) + arrows154 line = "{replay}{arrows} {code} {reason} {size}".format(155 replay=replay,156 arrows=arrows,157 code=code,158 reason=reason,159 size=size160 )161 self.echo(line)162 def echo_flow(self, f):163 if f.request:164 self._echo_request_line(f)165 if self.flow_detail >= 2:166 self._echo_headers(f.request.headers)167 if self.flow_detail >= 3:168 self._echo_message(f.request)169 if f.response:170 self._echo_response_line(f)171 if self.flow_detail >= 2:172 self._echo_headers(f.response.headers)173 if self.flow_detail >= 3:174 self._echo_message(f.response)175 if f.error:176 msg = strutils.escape_control_characters(f.error.msg)177 self.echo(" << {}".format(msg), bold=True, fg="red")178 def match(self, f):179 if self.flow_detail == 0:180 return False181 if not self.filter:182 return True183 elif flowfilter.match(self.filter, f):184 return True185 return False186 def response(self, f):...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful