def create(self, request): # set everything up key = request.POST.get('key') or request.GET.get('key') url = request.POST.get('url') or request.GET.get('url') # set up response response = HttpResponse(mimetype='json/application') # post needs to have a key and url, fail if not both if not bool(url and key): response.content = json.dumps({'code': 101, 'url' : 'http://%s%s' % (Site.objects.get_current(), reverse('faq:view', args=[101]) ) } ) response.status_code = 400 return response # make sure key is correct try: user = User.objects.get(userprofile__key=key) except User.DoesNotExist: response.content = json.dumps({'code': 102, 'url' : 'http://%s%s' % (Site.objects.get_current(), reverse('faq:view', args=[102]) ) } ) response.status_code = 400 return response # either 200 or 201 # # try: r = Redirect.objects.get(url=url, user=user) response.status_code = 200 except Redirect.DoesNotExist: r = Redirect() r.url = url r.user = user r.save() response.status_code = 200 # return the response #response.content = serializers.serialize('json', [r]) response.content = json.dumps({'shortUrl' : r.shorturl}) response['Location'] = r.get_absolute_url() return response