X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/b74fa4eb15c62d11fe0fa2b1015571c90681dd86..ce3795b6c4f878c496b4d46193e3379f8efb077b:/src/api/utils.py diff --git a/src/api/utils.py b/src/api/utils.py index 045ce90e9..3674838db 100644 --- a/src/api/utils.py +++ b/src/api/utils.py @@ -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']