Better Cloudflare API error handling

pull/46/head
Rui Carmo 2019-06-25 11:46:55 +01:00 zatwierdzone przez GitHub
rodzic 9c913a8d5f
commit 8962fa9523
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 12 dodań i 12 usunięć

24
piku.py
Wyświetl plik

@ -588,21 +588,21 @@ def spawn_app(app, deltas={}):
acl = []
if env.get('NGINX_CLOUDFLARE_ACL', 'false').lower() == 'true':
try:
cf = loads(urlopen('https://api.cloudflare.com/client/v4/ips').read())
cf = loads(urlopen('https://api.cloudflare.com/client/v4/ips').read().decode("utf-8"))
if cf['success'] == True:
for i in cf['result']['ipv4_cidrs']:
acl.append("allow {};".format(i))
for i in cf['result']['ipv6_cidrs']:
acl.append("allow {};".format(i))
# allow access from controlling machine
if 'SSH_CLIENT' in environ:
remote_ip = environ['SSH_CLIENT'].split()[0]
echo("-----> Adding your IP ({}) to nginx ACL".format(remote_ip))
acl.append("allow {};".format(remote_ip))
acl.extend(["allow 127.0.0.1;","deny all;"])
except Exception:
cf = defaultdict()
echo("-----> Could not retrieve CloudFlare IP ranges: {}".format(format_exc()), fg="red")
if cf['success'] == True:
for i in cf['result']['ipv4_cidrs']:
acl.append("allow {};".format(i))
for i in cf['result']['ipv6_cidrs']:
acl.append("allow {};".format(i))
# allow access from controlling machine
if 'SSH_CLIENT' in environ:
remote_ip = environ['SSH_CLIENT'].split()[0]
echo("-----> Adding your IP ({}) to nginx ACL".format(remote_ip))
acl.append("allow {};".format(remote_ip))
acl.extend(["allow 127.0.0.1;","deny all;"])
env['NGINX_ACL'] = " ".join(acl)
env['INTERNAL_NGINX_STATIC_MAPPINGS'] = ''