diff options
Diffstat (limited to 'core.py')
| -rw-r--r-- | core.py | 20 | 
1 files changed, 13 insertions, 7 deletions
@@ -55,25 +55,31 @@ class Daemon():      def show_help():          pass     -class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler): +class WhoisHandler(socketserver.BaseRequestHandler):      def handle(self): +        daemon = self.server.daemon          data = self.request.recv(100)          cur_thread = threading.current_thread() -        response = self.get_header() + "\n" + self.get_answer(data) + "\n" + self.get_footer()         +        response = daemon.get_header() + "\n" + daemon.query(data) + "\n" + daemon.get_footer() +                  self.request.sendall(response) -class ClassicServer(socketserver.TCPServer): -    def __init__(self, config): +class ClassicServer(socketserver.ThreadingTCPServer): +    def __init__(self, config, daemon):          host = config['Servers']['classic_host']          port = config['Servers']['classic_port'] +        self.daemon = daemon -        TCPServer.__init__(self, (host, port), ThreadedTCPRequestHandler) +        ThreadingTCPServer.__init__(self, (host, port), WhoisHandler)      def start(self):          pass         -class WebServer(socketserver.TCPServer): -    def __init__(self, config): +class WebServer(socketserver.ThreadingTCPServer): +    def __init__(self, config, daemon):          self.host = config['Servers']['web_host']          self.port = config['Servers']['web_port'] +        self.daemon = daemon + +        ThreadingTCPServer.__init__(self, (host, port), WhoisHandler)  | 
