#============================================================================ # This library is free software; you can redistribute it and/or # modify it under the terms of version 2.1 of the GNU Lesser General Public # License as published by the Free Software Foundation. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #============================================================================ # Copyright (C) 2004, 2005 Mike Wray # Copyright (c) 2005 XenSource Ltd. #============================================================================ """Domain migration. """ import sys from xen.xm.opts import * from main import server gopts = Opts(use="""[options] DOM HOST Migrate domain DOM to host HOST. Xend must be running on the local host and on HOST. """) gopts.opt('help', short='h', fn=set_true, default=0, use="Print this help.") gopts.opt('live', short='l', fn=set_true, default=0, use="Use live migration.") gopts.opt('port', short='p', val='portnum', fn=set_int, default=0, use="Use specified port for migration.") gopts.opt('resource', short='r', val='MBIT', fn=set_int, default=0, use="Set level of resource usage for migration.") def help(): return str(gopts) def main(argv): opts = gopts args = opts.parse(argv) if len(args) != 2: raise OptionError('Invalid number of arguments') dom = args[0] dst = args[1] server.xend.domain.migrate(dom, dst, opts.vals.live, opts.vals.resource, opts.vals.port) /cgit/cloud-email/mitmproxy/stats/examples/simple/send_reply_from_proxy.py'>stats
path: root/examples/simple/send_reply_from_proxy.py
blob: 5011fd2e57dd3ab6b48e8e06d2d427243b8bc5dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
"""
This example shows how to send a reply from the proxy immediately
without sending any data to the remote server.
"""
from mitmproxy import http


def request(flow: http.HTTPFlow) -> None:
    # pretty_url takes the "Host" header of the request into account, which
    # is useful in transparent mode where we usually only have the IP otherwise.

    if flow.request.pretty_url == "http://example.com/path":
        flow.response = http.HTTPResponse.make(
            200,  # (optional) status code
            b"Hello World",  # (optional) content
            {"Content-Type": "text/html"}  # (optional) headers
        )