Skip to content

Commit d0c9344

Browse files
committed
Improve cdn to handle HTTP errors
1 parent e35a7c8 commit d0c9344

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

pmaweb/cdn.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from django.conf import settings
2525

2626
import urllib.request
27+
from urllib.error import HTTPError
2728
import json
2829

2930
URL = 'https://api.cdn77.com/v3/cdn/{id}/job/purge'
@@ -41,10 +42,13 @@ def perform(url, paths):
4142
'User-Agent': 'phpMyAdmin/website script',
4243
})
4344

44-
handle = urllib.request.urlopen(req)
45-
response = handle.read()
46-
decoded = json.loads(response)
47-
handle.close()
45+
try:
46+
handle = urllib.request.urlopen(req)
47+
response = handle.read()
48+
decoded = json.loads(response)
49+
handle.close()
50+
except HTTPError as err:
51+
raise Exception(f'[CDN] ({url}) HTTP error {err.code}: {err.reason}')
4852

4953
if decoded['state'] != 'done' and decoded['state'] != 'queued':
5054
if 'errors' in decoded:
@@ -75,4 +79,3 @@ def purge_all_cdn():
7579
return
7680

7781
return perform(URL_ALL.replace('{id}', settings.CDN_ID), [])
78-

0 commit comments

Comments
 (0)