Refined header code, added reverse recursive action
This commit is contained in:
Binary file not shown.
+29
-16
@@ -2,7 +2,7 @@ import socket
|
||||
import json
|
||||
import os
|
||||
import logging
|
||||
|
||||
from http.server import HTTPServer, BaseHTTPRequestHandler
|
||||
from .dispatcher import dispatchRequest
|
||||
from .createresponse import buildResponse
|
||||
|
||||
@@ -14,29 +14,42 @@ def startServer():
|
||||
server.bind(("0.0.0.0", port))
|
||||
|
||||
lifecycles = {}
|
||||
|
||||
|
||||
server.listen()
|
||||
logging.info(f"Server listening on port {port}")
|
||||
print(f"Server listening on port {port}")
|
||||
while True:
|
||||
connection, address = server.accept()
|
||||
logging.info("Accepting connections")
|
||||
print("Accepting connections")
|
||||
connection.settimeout(30)
|
||||
|
||||
while True:
|
||||
data = connection.recv(4096)
|
||||
class RequestHandler(BaseHTTPRequestHandler):
|
||||
def do_POST(self):
|
||||
print("POST request received")
|
||||
|
||||
try:
|
||||
while True:
|
||||
data = connection.recv(4096)
|
||||
|
||||
if not data:
|
||||
print("Client Disconnected")
|
||||
break
|
||||
|
||||
request = json.loads(data)
|
||||
request = json.loads(data)
|
||||
|
||||
# if not data:
|
||||
# break
|
||||
thread, lifecycles, module, mode = dispatchRequest(request, lifecycles)
|
||||
|
||||
thread, lifecycles, module, mode = dispatchRequest(request, lifecycles)
|
||||
response = buildResponse(module, thread, mode)
|
||||
|
||||
response = buildResponse(module, thread, mode)
|
||||
connection.sendall(
|
||||
json.dumps(response).encode("utf-8"),
|
||||
)
|
||||
except json.decoder.JSONDecodeError as error:
|
||||
print("Invalid JSON received", error)
|
||||
print("Closing client connection")
|
||||
except socket.timeout:
|
||||
print("Client connection timed out")
|
||||
|
||||
connection.sendall(
|
||||
json.dumps(response).encode("utf-8"),
|
||||
)
|
||||
|
||||
connection.close()
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
# server.close()
|
||||
|
||||
Reference in New Issue
Block a user