34 lines
		
	
	
		
			805 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			805 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import atexit
 | 
						|
import http.server
 | 
						|
import socketserver
 | 
						|
import subprocess
 | 
						|
 | 
						|
haxe_server = None
 | 
						|
 | 
						|
 | 
						|
def run_tcp(port: int, do_log: bool):
 | 
						|
    class HTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
 | 
						|
        def log_message(self, format, *args):
 | 
						|
            if do_log:
 | 
						|
                print(format % args)
 | 
						|
 | 
						|
    try:
 | 
						|
        http_server = socketserver.TCPServer(("", port), HTTPRequestHandler)
 | 
						|
        http_server.serve_forever()
 | 
						|
    except:
 | 
						|
        print("Server already running")
 | 
						|
 | 
						|
 | 
						|
def run_haxe(haxe_path, port=6000):
 | 
						|
    global haxe_server
 | 
						|
    if haxe_server is None:
 | 
						|
        haxe_server = subprocess.Popen([haxe_path, "--wait", str(port)])
 | 
						|
        atexit.register(kill_haxe)
 | 
						|
 | 
						|
 | 
						|
def kill_haxe():
 | 
						|
    global haxe_server
 | 
						|
    if haxe_server is not None:
 | 
						|
        haxe_server.kill()
 | 
						|
        haxe_server = None
 |