Opt-out working.
[wolnelektury.git] / src / api / utils.py
index 045ce90..3674838 100644 (file)
@@ -1,8 +1,7 @@
-# -*- coding: utf-8 -*-
 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
 #
-from django.http import HttpResponse
+from django.http import HttpResponse, HttpResponseRedirect
 from django.utils.decorators import method_decorator
 from django.utils.encoding import iri_to_uri
 from django.views.decorators.vary import vary_on_headers
@@ -25,8 +24,9 @@ def oauthlib_request(request):
         "headers": headers,
     }
 
-def oauthlib_response((headers, body, status)):
+def oauthlib_response(response_tuple):
     """Creates a django.http.HttpResponse from (headers, body, status) tuple from OAuthlib."""
+    headers, body, status = response_tuple
     response = HttpResponse(body, status=status)
     for k, v in headers.items():
         if k == 'Location':
@@ -36,3 +36,7 @@ def oauthlib_response((headers, body, status)):
 
 
 vary_on_auth = method_decorator(vary_on_headers('Authorization'), 'dispatch')
+
+
+class HttpResponseAppRedirect(HttpResponseRedirect):
+    allowed_schemes = HttpResponseRedirect.allowed_schemes + ['wolnelekturyapp']