summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2019-06-29 20:35:31 +0400
committerAndrew <saintruler@gmail.com>2019-06-29 20:35:31 +0400
commit155aba6c88cc651d2639ff2f11b0bbdb956cd4b8 (patch)
tree7ba30878bebc24a4b683f821b04388367d30a511
parent4af386344a00e9338e2f46f1ce90954893c067be (diff)
WIP: Базовый HTTP сервер
-rw-r--r--day9/task5/index.html9
-rw-r--r--day9/task5/main.py40
-rw-r--r--day9/task5/update/index.html10
3 files changed, 59 insertions, 0 deletions
diff --git a/day9/task5/index.html b/day9/task5/index.html
new file mode 100644
index 0000000..1785124
--- /dev/null
+++ b/day9/task5/index.html
@@ -0,0 +1,9 @@
+<html>
+ <head>
+ <title>Python is awesome!</title>
+ </head>
+ <body>
+ <h1>Afternerd</h1>
+ <p>Congratulations! The HTTP Server is working!</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/day9/task5/main.py b/day9/task5/main.py
new file mode 100644
index 0000000..8cdf7a1
--- /dev/null
+++ b/day9/task5/main.py
@@ -0,0 +1,40 @@
+from http.server import HTTPServer, BaseHTTPRequestHandler
+import logging
+
+
+class MyHTTPRequestHandler(BaseHTTPRequestHandler):
+ def update_post(self, query):
+ return f'<h1>{query}</h1>'
+
+ def index_get(self):
+ return 'INDEX!!!!'
+
+ def _set_response(self):
+ self.send_response(200)
+ self.send_header('Content-type', 'text/html')
+ self.end_headers()
+
+ def do_GET(self):
+ if self.path == '/':
+ response = self.index_get()
+ else:
+ response = '<center><h1>ERROR 404 NOT FOUND</h1></center>'
+
+ self._set_response()
+ self.wfile.write(response.encode('utf-8'))
+
+ def do_POST(self):
+ content_length = int(self.headers['Content-Length'])
+ post_data = self.rfile.read(content_length).decode('utf-8')
+
+ response = self._router['POST'].get(
+ self.path, lambda *args: '<center><h1>ERROR 404 NOT FOUND</h1></center>'
+ )(post_data)
+
+ self._set_response()
+ self.wfile.write(response.encode('utf-8'))
+
+
+server_address = ("", 8000)
+httpd = HTTPServer(server_address, MyHTTPRequestHandler)
+httpd.serve_forever()
diff --git a/day9/task5/update/index.html b/day9/task5/update/index.html
new file mode 100644
index 0000000..ee87cad
--- /dev/null
+++ b/day9/task5/update/index.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>Title</title>
+</head>
+<body>
+sdgsd
+</body>
+</html> \ No newline at end of file