diff options
| author | Andrew <saintruler@gmail.com> | 2019-06-29 20:35:31 +0400 |
|---|---|---|
| committer | Andrew <saintruler@gmail.com> | 2019-06-29 20:35:31 +0400 |
| commit | 155aba6c88cc651d2639ff2f11b0bbdb956cd4b8 (patch) | |
| tree | 7ba30878bebc24a4b683f821b04388367d30a511 /day9/task5 | |
| parent | 4af386344a00e9338e2f46f1ce90954893c067be (diff) | |
WIP: Базовый HTTP сервер
Diffstat (limited to 'day9/task5')
| -rw-r--r-- | day9/task5/index.html | 9 | ||||
| -rw-r--r-- | day9/task5/main.py | 40 | ||||
| -rw-r--r-- | day9/task5/update/index.html | 10 |
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 |