aboutsummaryrefslogtreecommitdiffstats
path: root/examples/addons/options-configure.py
blob: c7638e87f01c79818a18b0ad62491985ab04026e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import typing

from mitmproxy import ctx
from mitmproxy import exceptions


class AddHeader:
    def load(self, loader):
        loader.add_option(
            name = "addheader",
            typespec = typing.Optional[int],
            default = None,
            help = "Add a header to responses",
        )

    def configure(self, updates):
        if "addheader" in updates:
            if ctx.options.addheader is not None and ctx.options.addheader > 100:
                raise exceptions.OptionsError("addheader must be <= 100")

    def response(self, flow):
        if ctx.options.addheader is not None:
            flow.response.headers["addheader"] = str(ctx.options.addheader)


addons = [
    AddHeader()
]
=> rst); process procedure pulse is begin clk <= '0'; wait for 1 ns; clk <= '1'; wait for 1 ns; end pulse; variable v : std_logic_vector(15 downto 0); begin rst <= '1'; wen <= '0'; wdat <= '1'; addr <= x"0"; pulse; rst <= '0'; addr <= x"4"; wen <= '1'; pulse; assert rdat = x"0000" severity failure; addr <= x"f"; pulse; assert rdat = x"0010" severity failure; addr <= x"4"; wdat <= '0'; pulse; assert rdat = x"8010" severity failure; pulse; assert rdat = x"8000" severity failure; v := x"8000"; wdat <= '1'; for i in 0 to 14 loop addr <= std_logic_vector(to_unsigned(i, 4)); pulse; assert rdat = v severity failure; v (i) := '1'; end loop; wait; end process; end behav;