From 3d8d284a96d966c83d4aabc79e76ff9bd0a35032 Mon Sep 17 00:00:00 2001 From: Ivan Mahonin Date: Jul 07 2019 15:45:53 +0000 Subject: beginning --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8d95c9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/\.kdev4/ +/log/ +/earthworm.kdev4 diff --git a/config.py b/config.py new file mode 100644 index 0000000..782aa72 --- /dev/null +++ b/config.py @@ -0,0 +1,2 @@ + +config = dict() diff --git a/main.py b/main.py new file mode 100644 index 0000000..c124f91 --- /dev/null +++ b/main.py @@ -0,0 +1,12 @@ + +import uwsgi + +from config import config +from server import Server +from request import Request + +server = Server(config) + +def application(env, start_response): + request = Request(server, env, start_response) + return request.complete("Env:\n" + str(env)) diff --git a/request.py b/request.py new file mode 100644 index 0000000..e124284 --- /dev/null +++ b/request.py @@ -0,0 +1,29 @@ + +class Request: + def __init__( + self, + server, + environ, + start_response + ): + self.server = server + self.environ = environ + self.start_response = start_response + + def complete(self, result = None, headers = []): + content_headers = [('Content-Type','text/html')] + + if not result is None: + if not type(result) is bytes: + result = bytes(str(result), "utf8") + + result_list = [] + if result: + status = "200 OK" + size = 65536 + for i in range(0, len(result), size): + result_list.append(result[i:i + size]) + else: + status = "204 No Content" + self.start_response(status, headers + content_headers) + return result_list diff --git a/server.py b/server.py new file mode 100644 index 0000000..599f279 --- /dev/null +++ b/server.py @@ -0,0 +1,4 @@ + +class Server: + def __init__(self, config): + self.config = config