summaryrefslogtreecommitdiff
path: root/day9/task5/server.py
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2019-07-09 19:20:40 +0400
committerAndrew <saintruler@gmail.com>2019-07-09 19:20:40 +0400
commit3d7678361496668f584d62329600997dff9c2862 (patch)
treef73729667fdd306837c79520f193af384600df46 /day9/task5/server.py
parent323563cedae50dad25c531e90fcda17f9e459feb (diff)
Улучшена обработка разных видов ответов от бэкенда.
Diffstat (limited to 'day9/task5/server.py')
-rw-r--r--day9/task5/server.py23
1 files changed, 3 insertions, 20 deletions
diff --git a/day9/task5/server.py b/day9/task5/server.py
index 8ee52a2..9ce38cb 100644
--- a/day9/task5/server.py
+++ b/day9/task5/server.py
@@ -1,9 +1,8 @@
from http.server import HTTPServer, BaseHTTPRequestHandler
from urllib.parse import parse_qs
-from json import dumps
from router import run
-from utils import HTTP_STATUS_CODES, parse_multipart_form
+from utils import parse_multipart_form
import logging
@@ -55,24 +54,8 @@ class MyHTTPRequestHandler(BaseHTTPRequestHandler):
}))
def finalize_request(self, response):
- if isinstance(response, int):
- self._set_response(response, 'text/html')
- response = f'<center><h1>ERROR {response} {HTTP_STATUS_CODES[response].upper()}</h1></center>'.encode('utf-8')
- elif isinstance(response, (dict, list)):
- self._set_response(200, 'application/json')
- response = dumps(response).encode('utf-8')
- elif isinstance(response, tuple):
- if response[0] == 'image':
- self._set_response(200, f'image/{response[1]}')
- response = response[2]
- elif response[0] in ['css', 'js']:
- self._set_response(200, f'text/{response[1]}')
- response = response[2].encode('utf-8')
- else:
- self._set_response(200, 'text/html')
- response = response.encode('utf-8')
-
- self.wfile.write(response)
+ self._set_response(response.status_code, response.content_type)
+ self.wfile.write(response.content)
def start_server(host, port):