summaryrefslogtreecommitdiff
path: root/src/leap/bitmask/bonafide/_http.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/leap/bitmask/bonafide/_http.py')
-rw-r--r--src/leap/bitmask/bonafide/_http.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/leap/bitmask/bonafide/_http.py b/src/leap/bitmask/bonafide/_http.py
index a1120ab7..8121a336 100644
--- a/src/leap/bitmask/bonafide/_http.py
+++ b/src/leap/bitmask/bonafide/_http.py
@@ -51,6 +51,10 @@ class Unchanged(Exception):
pass
+class Forbidden(Exception):
+ pass
+
+
# TODO this should be ported to use treq client.
def httpRequest(agent, url, values=None, headers=None,
@@ -83,6 +87,8 @@ def httpRequest(agent, url, values=None, headers=None,
log.debug("RESPONSE %s %s %s" % (method, response.code, url))
if response.code == 204:
d = defer.succeed('')
+ elif response.code == 401:
+ raise Forbidden()
if saveto and mtime and response.code == 304:
log.debug('304 (Not modified): %s' % url)
raise Unchanged()
@@ -104,7 +110,7 @@ def httpRequest(agent, url, values=None, headers=None,
return d
def passthru(failure):
- failure.trap(Unchanged)
+ failure.trap(Unchanged, Forbidden)
d = agent.request(method, url, Headers(headers),
StringProducer(data) if data else None)