def start_http(address, port): import sys from ZServer import asyncore from ZServer import zhttp_server, zhttp_handler import socket import Zope # Sigh, make product initialization happen try: Zope.startup() except: # Zope > 2.6 pass from ZServer import setNumberOfThreads setNumberOfThreads(4) try: hs = zhttp_server( ip=address, port=port, resolver=None, logger_object=None) except socket.error, why: if why[0] == 98: # address in use raise port_err % {'port':port, 'socktype':'TCP', 'protocol':'HTTP', 'switch':'-w'} raise
def startZServer(number_of_threads=1, log=None): '''Starts an HTTP ZServer thread.''' global _Z2HOST, _Z2PORT if _Z2HOST is None: _Z2HOST = '127.0.0.1' _Z2PORT = random.choice(range(55000, 55500)) from ZServer import setNumberOfThreads setNumberOfThreads(number_of_threads) from threadutils import QuietThread, zserverRunner t = QuietThread(target=zserverRunner, args=(_Z2HOST, _Z2PORT, log)) t.setDaemon(1) t.start() time.sleep(0.1) # Sandor Palfy return _Z2HOST, _Z2PORT
exec "import "+MODULE in {} # Location of the ZServer log file. This file logs all ZServer activity. # You may wish to create different logs for different servers. See # medusa/logger.py for more information. if not os.path.isabs(LOG_FILE): LOG_PATH=os.path.join(CLIENT_HOME, LOG_FILE) else: LOG_PATH=LOG_FILE # import ZServer stuff # First, we need to increase the number of threads if MODULE=='Zope': from ZServer import setNumberOfThreads setNumberOfThreads(NUMBER_OF_THREADS) from ZServer import resolver, logger, asyncore from ZServer import zhttp_server, zhttp_handler from ZServer import zhttps_server, zhttps0_handler, zhttps_handler from ZServer.WebDAVSrcHandler import WebDAVSrcHandler from ZServer import PCGIServer,FTPServer,FCGIServer from ZServer import secure_monitor_server from M2Crypto import SSL, Rand ## ZServer startup ##