Add something that shows the redirect sequence
[bigly] / src / bigly / views.py
index c74bc28..b037d6b 100644 (file)
@@ -31,11 +31,16 @@ def _remove_utm(link):
     ))
 
 def _follow_redirects(link, remove_utm):
+    redirect_sequence = []
+
     while True:
+        redirect_sequence.append(link)
+
         if remove_utm:
             link = _remove_utm(link)
 
-        response = requests.head(link)
+        # TODO Do this in an async call so it doesn't block the main thread
+        response = requests.head(link, timeout=10)
 
         # TODO Handle timeouts
 
@@ -53,6 +58,10 @@ def _follow_redirects(link, remove_utm):
             return {
                 'link': link,
                 'status': response.status_code,
+
+                # TODO Handle different capitalizations of "Content-Type"
+                'content_type': response.headers.get('Content-Type'),
+                'redirect_sequence': redirect_sequence,
             }
 
 class IndexView(TemplateView):