Beispiel #1
0
def main():

    if len(sys.argv) > 1 and path.isfile(sys.argv[1]):
        # 读取用户配置
        config = getconfig(sys.argv[1])
    else:
        # 使用默认配置
        config = DEFAULT_CONFIG

    signal.signal(signal.SIGINT, shutdown)

    server = HttpServer(config["root"], config["port"], config["index"],)

    server.start()
Beispiel #2
0
    def start(self):
        """
        Start the main loop of the application.

        Create instance of FhtListener and HttpServer and start them. Listen on the queue
        from the Listener and when receive the message, parse it and send the result to server.
        """
        self.listener_queue = Queue()
        listener = FhtListener(self.listener_queue)
        self.http_queue = Queue()
        http_server = HttpServer(self.http_queue)
        listener.start()
        http_server.start()

        while True:
            msg: FhtMessage = self.listener_queue.get()
            logger.debug("FHT message received")
            # process the message and create a message for http server
            http_msg = self.analyze_msg(msg)
            self.http_queue.put(http_msg)
Beispiel #3
0
from http_server import HttpServer
import xml.etree.ElementTree as ET

from mg.DataStorage import DataStorage
from mg.Factory import Factory


class RequestHandler:
    def __init__(self, server):
        self.response = None
        self.server = server

    def handle(self, payload):
        request = Factory.create_command(payload)

        response = request.execute()

        root = ET.Element(response.get_type())
        response.serialize(root)
        sbuffer = ET.tostring(root)
        self.server.send(sbuffer)


if __name__ == '__main__':
    print 'run server:'
    DataStorage.shared().initialize(open('data.xml').read())
    HttpServer.start(port=8045, request_handler_class=RequestHandler)