))
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
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):