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))
评论列表
文章目录