Statistics
| Branch: | Tag: | Revision:

root / auth / handlers.py @ 92c53da1

History | View | Annotate | Download (974 Bytes)

1 3758cc42 Faidon Liambotis
# vim: ts=4 sts=4 et ai sw=4 fileencoding=utf-8
2 3758cc42 Faidon Liambotis
#
3 3758cc42 Faidon Liambotis
# Copyright © 2010 Greek Research and Technology Network
4 3758cc42 Faidon Liambotis
#
5 3758cc42 Faidon Liambotis
6 3758cc42 Faidon Liambotis
from piston.handler import AnonymousBaseHandler
7 3758cc42 Faidon Liambotis
from django.http import HttpResponse
8 3758cc42 Faidon Liambotis
from django.core.urlresolvers import reverse
9 3758cc42 Faidon Liambotis
10 3758cc42 Faidon Liambotis
CURRENT_SERVER_VERSION = 'v1.0'
11 3758cc42 Faidon Liambotis
12 3758cc42 Faidon Liambotis
class AuthHandler(AnonymousBaseHandler):
13 3758cc42 Faidon Liambotis
    allowed_methods = ('GET',)
14 3758cc42 Faidon Liambotis
15 3758cc42 Faidon Liambotis
    def read(self, request):
16 3758cc42 Faidon Liambotis
        user = request.META.get('HTTP_X_AUTH_USER', None)
17 3758cc42 Faidon Liambotis
        key = request.META.get('HTTP_X_AUTH_KEY', None)
18 3758cc42 Faidon Liambotis
        if user is None or key is None:
19 3758cc42 Faidon Liambotis
            return HttpResponse(status=401)
20 3758cc42 Faidon Liambotis
21 3758cc42 Faidon Liambotis
        response = HttpResponse(status=204)
22 3758cc42 Faidon Liambotis
23 3758cc42 Faidon Liambotis
        # dummy auth
24 3758cc42 Faidon Liambotis
        response['X-Auth-Token'] = 'dummy-token'
25 3758cc42 Faidon Liambotis
26 3758cc42 Faidon Liambotis
        # return X-Server-Management's URL
27 3758cc42 Faidon Liambotis
        url = reverse('synnefo.api.urls.version_handler',
28 3758cc42 Faidon Liambotis
                kwargs={'number': CURRENT_SERVER_VERSION})
29 3758cc42 Faidon Liambotis
        url = request.build_absolute_uri(url)
30 3758cc42 Faidon Liambotis
31 3758cc42 Faidon Liambotis
        response['X-Server-Management-Url'] = url
32 3758cc42 Faidon Liambotis
33 3758cc42 Faidon Liambotis
        return response