# 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 Http404, HttpResponse
+from django.http import Http404
from oauthlib.common import urlencode
from oauthlib.oauth1 import RequestTokenEndpoint
from piston.models import KEY_SIZE, SECRET_SIZE
from .models import BookUserData
from . import serializers
from .request_validator import PistonRequestValidator
+from .utils import oauthlib_request, oauthlib_response
class OAuth1RequestTokenEndpoint(RequestTokenEndpoint):
class OAuth1RequestTokenView(APIView):
def __init__(self):
self.endpoint = OAuth1RequestTokenEndpoint(PistonRequestValidator())
+
def dispatch(self, request):
- headers, body, status = self.endpoint.create_request_token_response(
- request.build_absolute_uri(),
- request.method,
- request.body,
- {
- "Authorization": request.META['HTTP_AUTHORIZATION']
- } if 'HTTP_AUTHORIZATION' in request.META else None
+ return oauthlib_response(
+ self.endpoint.create_request_token_response(
+ **oauthlib_request(request)
+ )
)
- response = HttpResponse(body, status=status)
- for k, v in headers.items():
- response[k] = v
- return response
-
class UserView(RetrieveAPIView):
permission_classes = [IsAuthenticated]