43 lines
957 B
Python
43 lines
957 B
Python
import socket
|
|
import json
|
|
import os
|
|
import logging
|
|
|
|
from .dispatcher import dispatchRequest
|
|
from .createresponse import buildResponse
|
|
|
|
port = int(os.environ.get("SERVER_PORT", 19001))
|
|
|
|
def startServer():
|
|
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
|
|
server.bind(("0.0.0.0", port))
|
|
|
|
lifecycles = {}
|
|
|
|
server.listen()
|
|
logging.info(f"Server listening on port {port}")
|
|
while True:
|
|
connection, address = server.accept()
|
|
logging.info("Accepting connections")
|
|
|
|
while True:
|
|
data = connection.recv(4096)
|
|
|
|
request = json.loads(data)
|
|
|
|
# if not data:
|
|
# break
|
|
|
|
thread, lifecycles, module, mode = dispatchRequest(request, lifecycles)
|
|
|
|
response = buildResponse(module, thread, mode)
|
|
|
|
connection.sendall(
|
|
json.dumps(response).encode("utf-8"),
|
|
)
|
|
|
|
connection.close()
|
|
|
|
# server.close()
|