summaryrefslogtreecommitdiff
path: root/day9/task5/server.py
diff options
context:
space:
mode:
Diffstat (limited to 'day9/task5/server.py')
-rw-r--r--day9/task5/server.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/day9/task5/server.py b/day9/task5/server.py
deleted file mode 100644
index 86b3e4c..0000000
--- a/day9/task5/server.py
+++ /dev/null
@@ -1,65 +0,0 @@
-from http.server import HTTPServer, BaseHTTPRequestHandler
-from urllib.parse import parse_qs
-
-from day9.task5_vue.router import run
-from day9.task5_vue.utils import parse_multipart_form
-
-import logging
-
-
-class MyHTTPRequestHandler(BaseHTTPRequestHandler):
- def _set_response(self, code, content_type):
- self.send_response(code)
- self.send_header('Content-type', content_type)
- self.end_headers()
-
- def do_GET(self):
- try:
- content_length = int(self.headers['Content-Length'])
- get_data = parse_qs(self.rfile.read(content_length).decode('utf-8'))
- except TypeError:
- get_data = {}
-
- for key in get_data:
- get_data[key] = get_data[key][0]
-
- self.finalize_request(run({
- 'url': self.path,
- 'method': 'GET',
- 'query': get_data
- }))
-
- def do_POST(self):
- content_length = int(self.headers['Content-Length'])
- content_type = self.headers['Content-type']
- post_data = self.rfile.read(content_length)
-
- if content_type.split(';')[0] == 'multipart/form-data':
- files = parse_multipart_form(post_data)
- self.finalize_request(run({
- 'url': self.path,
- 'method': 'POST',
- 'query': {'files': files}
- }))
-
- elif content_type.split(';')[0] in ['text/plain', 'application/x-www-form-urlencoded']:
- post_data = parse_qs(post_data.decode('utf-8'))
- for key in post_data:
- post_data[key] = post_data[key][0]
-
- self.finalize_request(run({
- 'url': self.path,
- 'method': 'POST',
- 'query': post_data
- }))
-
- def finalize_request(self, response):
- self._set_response(response.status_code, response.content_type)
- self.wfile.write(response.content)
-
-
-def start_server(host, port):
- server_address = (host, port)
- httpd = HTTPServer(server_address, MyHTTPRequestHandler)
- logging.getLogger('tableApp').info(f'Server started on {host}:{port}')
- httpd.serve_forever()