Пример #1
0
def serve(request, signature, image_id, filter_spec):
    image = get_object_or_404(get_image_model(), id=image_id)

    if not verify_signature(signature.encode(), image_id, filter_spec):
        raise PermissionDenied

    try:
        return Filter(spec=filter_spec).process_image(image.file.file, HttpResponse(content_type='image/jpeg'), focal_point=image.focal_point)
    except Filter.InvalidFilterSpecError:
        return HttpResponse("Invalid filter spec: " + filter_spec, content_type='text/plain', status=400)
Пример #2
0
def serve(request, signature, image_id, filter_spec):
    image = get_object_or_404(get_image_model(), id=image_id)

    if not verify_signature(signature.encode(), image_id, filter_spec):
        raise PermissionDenied

    try:
        return Filter(spec=filter_spec).process_image(image.file.file, HttpResponse(content_type='image/jpeg'), focal_point=image.focal_point)
    except Filter.InvalidFilterSpecError:
        return HttpResponse("Invalid filter spec: " + filter_spec, content_type='text/plain', status=400)
Пример #3
0
 def test_signature_changes_on_filter_spec(self):
     self.assertFalse(verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 100, 'fill-800x700'))
Пример #4
0
 def test_signature_changes_on_image_id(self):
     self.assertFalse(verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 200, 'fill-800x600'))
Пример #5
0
 def test_signature_verification(self):
     self.assertTrue(verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 100, 'fill-800x600'))
Пример #6
0
 def test_signature_changes_on_filter_spec(self):
     self.assertFalse(
         verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 100,
                          'fill-800x700'))
Пример #7
0
 def test_signature_changes_on_image_id(self):
     self.assertFalse(
         verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 200,
                          'fill-800x600'))
Пример #8
0
 def test_signature_verification(self):
     self.assertTrue(
         verify_signature(b'xnZOzQyUg6pkfciqcfRJRosOrGg=', 100,
                          'fill-800x600'))