gridftp: handle errors during fileupload
[qcg-portal.git] / qcg / middleware.py
1 from django.http import JsonResponse
2
3 from filex.ftp import FTPException
4
5
6 class FTPMiddleware(object):
7     def process_exception(self, request, exception):
8         if isinstance(exception, FTPException):
9             message = exception.message
10             status = 400
11
12             if 'No such file or directory' in message:
13                 status = 404
14             elif 'Permission denied' in message:
15                 status = 403
16
17             return JsonResponse({'error': message}, status=status)