Esempio n. 1
0
    def post(self, request, api_key, format=None):
        """
        http -a username:password --json POST http://127.0.0.1:8000/api/v1/data/API-KEY/ name_id="123" value="0"
        :param request:
        :param format:
        :return:
        """
        data = JSONParser().parse(request)
        data['owner'] = self.request.user.pk

        x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
        if x_forwarded_for:
            data['remote_address'] = ip = x_forwarded_for.split(
                ',')[-1].strip()
        else:
            ip = request.META.get('REMOTE_ADDR')
            data['remote_address'] = ip + "&" + request.META.get(
                'HTTP_USER_AGENT') + "&" + request.META.get('SERVER_PROTOCOL')

        data['channel'] = get_object_or_404(
            Channel,
            api_key=api_key,
            name=get_object_or_404(Element,
                                   name_id=data['name_id']).channel).pk
        serializer = DataSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JSONResponse(serializer.data, status=201)
        return JSONResponse(serializer.errors, status=400)
Esempio n. 2
0
	def put(self, request, pk, format=None):
		
		data = self.get_object(pk)
		serializer = DataSerializer(data)
		
		if serializer.is_valid():
			serializer.save()
			return Response(serializer.data)
			
		return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 3
0
	def post(self, request, format=None):

		serializer = DataSerializer(data=request.data)

		if serializer.is_valid():
			serializer.save()

			return Response(serializer.data, status=status.HTTP_201_CREATED)

		return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 4
0
 def put(self, request, pk, format=None):
     """
     :param request:
     :param pk:
     :param format:
     :return:
     """
     datas = self.get_object(pk)
     serializer = DataSerializer(datas, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)