fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix
[wolnelektury.git]
/
src
/
api
/
utils.py
diff --git
a/src/api/utils.py
b/src/api/utils.py
index
6dc7e45
..
3674838
100644
(file)
--- a/
src/api/utils.py
+++ b/
src/api/utils.py
@@
-1,9
+1,10
@@
-# -*- 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.
#
# 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.utils.encoding import iri_to_uri
+from django.views.decorators.vary import vary_on_headers
def oauthlib_request(request):
def oauthlib_request(request):
@@
-23,11
+24,19
@@
def oauthlib_request(request):
"headers": headers,
}
"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."""
"""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':
v = iri_to_uri(v)
response[k] = v
return response
response = HttpResponse(body, status=status)
for k, v in headers.items():
if k == 'Location':
v = iri_to_uri(v)
response[k] = v
return response
+
+
+vary_on_auth = method_decorator(vary_on_headers('Authorization'), 'dispatch')
+
+
+class HttpResponseAppRedirect(HttpResponseRedirect):
+ allowed_schemes = HttpResponseRedirect.allowed_schemes + ['wolnelekturyapp']