CloudVod.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2018/11/30 15:28
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: CloudVod.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. from django.utils.decorators import method_decorator
  15. from django.utils.timezone import utc
  16. from django.views.decorators.csrf import csrf_exempt
  17. from django.views.generic import TemplateView
  18. from ratelimit.decorators import ratelimit
  19. from Object.ResponseObject import ResponseObject
  20. from Object.TokenObject import TokenObject
  21. # 设备获取sts证书
  22. class OssDistributionSTSView(TemplateView):
  23. @method_decorator(csrf_exempt) # @csrf_exempt
  24. def dispatch(self, *args, **kwargs):
  25. return super(OssDistributionSTSView, self).dispatch(*args, **kwargs)
  26. # @ratelimit(key='ip', rate='5/m')
  27. def post(self, request, *args, **kwargs):
  28. request.encoding = 'utf-8'
  29. request_dict = request.POST
  30. lang = request_dict.get('lang', 'en')
  31. response = ResponseObject(lang)
  32. was_limited = getattr(request, 'limited', False)
  33. if was_limited is True:
  34. return response.json(5)
  35. return self.validates(request_dict, response)
  36. # @ratelimit(key='ip', rate='5/m')
  37. def get(self, request, *args, **kwargs):
  38. request.encoding = 'utf-8'
  39. request_dict = request.GET
  40. lang = request_dict.get('lang', 'en')
  41. response = ResponseObject(lang)
  42. was_limited = getattr(request, 'limited', False)
  43. if was_limited is True:
  44. return response.json(5)
  45. return self.validates(request_dict, response)
  46. def validates(self, request_dict, response):
  47. return