from django.http import StreamingHttpResponse, JsonResponse from django.conf import settings from wsgiref.util import FileWrapper from rest_framework.exceptions import APIException import mimetypes, os def robots(request): path = settings.BASE_DIR + request.path_info content_type, encoding = mimetypes.guess_type(path) resp = StreamingHttpResponse(FileWrapper(open(path, 'rb')), content_type=content_type) resp['Cache-Control'] = "max-age=864000000000" return resp def favicon(request): path = str(settings.BASE_DIR) + '/static/img/logo.png' content_type, encoding = mimetypes.guess_type(path) resp = StreamingHttpResponse(FileWrapper(open(path, 'rb')), content_type=content_type) resp['Cache-Control'] = "max-age=864000000000" return resp def css(request): path = str(settings.BASE_DIR) + '/templates/dist/spa' + request.path_info content_type, encoding = mimetypes.guess_type(path) resp = StreamingHttpResponse(FileWrapper(open(path, 'rb')), content_type=content_type) resp['Cache-Control'] = "max-age=864000000000" return resp def js(request): path = str(settings.BASE_DIR) + '/templates/dist/spa' + request.path_info content_type, encoding = mimetypes.guess_type(path) resp = StreamingHttpResponse(FileWrapper(open(path, 'rb')), content_type=content_type) resp['Cache-Control'] = "max-age=864000000000" return resp def statics(request): path = str(settings.BASE_DIR) + '/templates/dist/spa' + request.path_info content_type, encoding = mimetypes.guess_type(path) resp = StreamingHttpResponse(FileWrapper(open(path, 'rb')), content_type=content_type) resp['Cache-Control'] = "max-age=864000000000" return resp def fonts(request): path = str(settings.BASE_DIR) + '/templates/dist/spa' + request.path_info content_type, encoding = mimetypes.guess_type(path) resp = StreamingHttpResponse(FileWrapper(open(path, 'rb')), content_type=content_type) resp['Cache-Control'] = "max-age=864000000000" return resp def myip(request): import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) print(s.getsockname()[0]) ip = s.getsockname()[0] s.close() return JsonResponse({"ip": ip})