runserver_ngrok.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:django-eventstream 作者: fanout 项目源码 文件源码
def setup(self):
        host = None
        port = None
        ssl_host = None
        ssl_port = None

        resp = requests.get('http://localhost:4040/api/tunnels')
        tunnels = resp.json()['tunnels']
        for tunnel in tunnels:
            if tunnel['proto'] in ('http', 'https'):
                parsed = urlparse(tunnel['public_url'])
                if tunnel['proto'] == 'http':
                    host = parsed.hostname
                    port = parsed.port if parsed.port is not None else 80
                elif tunnel['proto'] == 'https':
                    ssl_host = parsed.hostname
                    ssl_port = parsed.port if parsed.port is not None else 443

        if host is None and ssl_host is None:
            self.stderr.write('Error: no ngrok tunnels found')
            return

        pub = get_pubcontrol()
        if len(pub.clients) == 0:
            self.stderr.write('Error: no GRIP proxy configured')
            return

        pub.set_origin(
            host=host,
            port=port,
            ssl_host=ssl_host,
            ssl_port=ssl_port,
            rewrite_host=True)

        self.stdout.write(
            'Setting ngrok tunnel %s as GRIP origin' % (host or ssl_host))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号