class FlupSCGIServer(object): """Adapter for a flup.server.scgi.WSGIServer.""" def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs self.ready = False def start(self): """Start the SCGI server.""" # We have to instantiate the server class here because its __init__ # starts a threadpool. If we do it too early, daemonize won't work. from flup.server.scgi import WSGIServer self.scgiserver = WSGIServer(*self.args, **self.kwargs) # TODO: report this bug upstream to flup. # If we don't set _oldSIGs on Windows, we get: # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 108, in run # self._restoreSignalHandlers() # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 156, in _restoreSignalHandlers # for signum,handler in self._oldSIGs: # AttributeError: 'WSGIServer' object has no attribute '_oldSIGs' self.scgiserver._installSignalHandlers = lambda: None self.scgiserver._oldSIGs = [] self.ready = True self.scgiserver.run() def stop(self): """Stop the HTTP server.""" self.ready = False # Forcibly stop the scgi server main event loop. self.scgiserver._keepGoing = False # Force all worker threads to die off. self.scgiserver._threadPool.maxSpare = 0
class FlupFCGIServer(object): """Adapter for a flup.server.fcgi.WSGIServer.""" def __init__(self, *args, **kwargs): if kwargs.get('bindAddress', None) is None: import socket if not hasattr(socket, 'fromfd'): raise ValueError('Dynamic FCGI server not available on this platform. You must use a static or external one by providing a legal bindAddress.') self.args = args self.kwargs = kwargs self.ready = False def start(self): """Start the FCGI server.""" from flup.server.fcgi import WSGIServer self.fcgiserver = WSGIServer(*self.args, **self.kwargs) self.fcgiserver._installSignalHandlers = lambda : None self.fcgiserver._oldSIGs = [] self.ready = True self.fcgiserver.run() def stop(self): """Stop the HTTP server.""" self.fcgiserver._keepGoing = False self.fcgiserver._threadPool.maxSpare = self.fcgiserver._threadPool._idleCount self.ready = False
def start(self): from flup.server.scgi import WSGIServer self.scgiserver = WSGIServer(*self.args, **self.kwargs) self.scgiserver._installSignalHandlers = lambda : None self.scgiserver._oldSIGs = [] self.ready = True self.scgiserver.run()
def start(self): """Start the CGI server.""" # We have to instantiate the server class here because its __init__ # starts a threadpool. If we do it too early, daemonize won't work. from flup.server.cgi import WSGIServer self.cgiserver = WSGIServer(*self.args, **self.kwargs) self.ready = True self.cgiserver.run()
class FlupCGIServer(object): def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs self.ready = False def start(self): from flup.server.cgi import WSGIServer self.cgiserver = WSGIServer(*self.args, **self.kwargs) self.ready = True self.cgiserver.run() def stop(self): self.ready = False
class FlupFCGIServer(object): """Adapter for a flup.server.fcgi.WSGIServer.""" def __init__(self, *args, **kwargs): if kwargs.get("bindAddress", None) is None: import socket if not hasattr(socket, "fromfd"): raise ValueError( "Dynamic FCGI server not available on this platform. " "You must use a static or external one by providing a " "legal bindAddress." ) self.args = args self.kwargs = kwargs self.ready = False def start(self): """Start the FCGI server.""" # We have to instantiate the server class here because its __init__ # starts a threadpool. If we do it too early, daemonize won't work. from flup.server.fcgi import WSGIServer self.fcgiserver = WSGIServer(*self.args, **self.kwargs) # TODO: report this bug upstream to flup. # If we don't set _oldSIGs on Windows, we get: # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 108, in run # self._restoreSignalHandlers() # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 156, in _restoreSignalHandlers # for signum,handler in self._oldSIGs: # AttributeError: 'WSGIServer' object has no attribute '_oldSIGs' self.fcgiserver._installSignalHandlers = lambda: None self.fcgiserver._oldSIGs = [] self.ready = True self.fcgiserver.run() def stop(self): """Stop the HTTP server.""" # Forcibly stop the fcgi server main event loop. self.fcgiserver._keepGoing = False # Force all worker threads to die off. self.fcgiserver._threadPool.maxSpare = self.fcgiserver._threadPool._idleCount self.ready = False
class FlupSCGIServer(object): def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs self.ready = False def start(self): from flup.server.scgi import WSGIServer self.scgiserver = WSGIServer(*self.args, **self.kwargs) self.scgiserver._installSignalHandlers = lambda: None self.scgiserver._oldSIGs = [] self.ready = True self.scgiserver.run() def stop(self): self.ready = False self.scgiserver._keepGoing = False self.scgiserver._threadPool.maxSpare = 0
class FlupCGIServer(object): """Adapter for a flup.server.cgi.WSGIServer.""" def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs self.ready = False def start(self): """Start the CGI server.""" from flup.server.cgi import WSGIServer self.cgiserver = WSGIServer(*self.args, **self.kwargs) self.ready = True self.cgiserver.run() def stop(self): """Stop the HTTP server.""" self.ready = False
class FlupFCGIServer(object): """Adapter for a flup.server.fcgi.WSGIServer.""" def __init__(self, *args, **kwargs): if kwargs.get('bindAddress', None) is None: import socket if not hasattr(socket, 'fromfd'): raise ValueError( 'Dynamic FCGI server not available on this platform. ' 'You must use a static or external one by providing a ' 'legal bindAddress.') self.args = args self.kwargs = kwargs self.ready = False def start(self): """Start the FCGI server.""" # We have to instantiate the server class here because its __init__ # starts a threadpool. If we do it too early, daemonize won't work. from flup.server.fcgi import WSGIServer self.fcgiserver = WSGIServer(*self.args, **self.kwargs) # TODO: report this bug upstream to flup. # If we don't set _oldSIGs on Windows, we get: # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 108, in run # self._restoreSignalHandlers() # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 156, in _restoreSignalHandlers # for signum,handler in self._oldSIGs: # AttributeError: 'WSGIServer' object has no attribute '_oldSIGs' self.fcgiserver._installSignalHandlers = lambda: None self.fcgiserver._oldSIGs = [] self.ready = True self.fcgiserver.run() def stop(self): """Stop the HTTP server.""" # Forcibly stop the fcgi server main event loop. self.fcgiserver._keepGoing = False # Force all worker threads to die off. self.fcgiserver._threadPool.maxSpare = ( self.fcgiserver._threadPool._idleCount) self.ready = False
def start(self): """Start the SCGI server.""" # We have to instantiate the server class here because its __init__ # starts a threadpool. If we do it too early, daemonize won't work. from flup.server.scgi import WSGIServer self.scgiserver = WSGIServer(*self.args, **self.kwargs) # TODO: report this bug upstream to flup. # If we don't set _oldSIGs on Windows, we get: # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 108, in run # self._restoreSignalHandlers() # File "C:\Python24\Lib\site-packages\flup\server\threadedserver.py", # line 156, in _restoreSignalHandlers # for signum,handler in self._oldSIGs: # AttributeError: 'WSGIServer' object has no attribute '_oldSIGs' self.scgiserver._installSignalHandlers = lambda: None self.scgiserver._oldSIGs = [] self.ready = True self.scgiserver.run()
class FlupSCGIServer(object): def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs self.ready = False def start(self): from flup.server.scgi import WSGIServer self.scgiserver = WSGIServer(*self.args, **self.kwargs) self.scgiserver._installSignalHandlers = lambda : None self.scgiserver._oldSIGs = [] self.ready = True self.scgiserver.run() def stop(self): self.ready = False self.scgiserver._keepGoing = False self.scgiserver._threadPool.maxSpare = 0
class FlupCGIServer(object): """Adapter for a flup.server.cgi.WSGIServer.""" def __init__(self, *args, **kwargs): self.args = args self.kwargs = kwargs self.ready = False def start(self): """Start the CGI server.""" # We have to instantiate the server class here because its __init__ # starts a threadpool. If we do it too early, daemonize won't work. from flup.server.cgi import WSGIServer self.cgiserver = WSGIServer(*self.args, **self.kwargs) self.ready = True self.cgiserver.run() def stop(self): """Stop the HTTP server.""" self.ready = False
class FlupFCGIServer(object): def __init__(self, *args, **kwargs): if kwargs.get('bindAddress', None) is None: import socket if not hasattr(socket, 'fromfd'): raise ValueError('Dynamic FCGI server not available on this platform. You must use a static or external one by providing a legal bindAddress.') self.args = args self.kwargs = kwargs self.ready = False def start(self): from flup.server.fcgi import WSGIServer self.fcgiserver = WSGIServer(*self.args, **self.kwargs) self.fcgiserver._installSignalHandlers = lambda : None self.fcgiserver._oldSIGs = [] self.ready = True self.fcgiserver.run() def stop(self): self.fcgiserver._keepGoing = False self.fcgiserver._threadPool.maxSpare = self.fcgiserver._threadPool._idleCount self.ready = False
log(result) ret_code = '400 Bad Request' text = json.dumps({'error': 1, 'text': ret_code}) start_response(ret_code, [('Content-Type', 'application/json' + '; charset=UTF-8'), ('Content-Length', str(len(text))), ('Access-Control-Allow-Origin', '*')]) return [text] def myapp(environ, start_response): params = query_params(environ) if params['cmd'] == 'ping': return handle_ping(start_response) elif params['cmd'] == 'hocr': return handle_query(params, start_response) else: return handle_status(params, start_response) if __name__ == "__main__": sys.stderr = open(os.path.expanduser('~/log/hocr_cgi.err'), 'a') from flup.server.cgi import WSGIServer try: WSGIServer(myapp).run() except BaseException: utils.print_traceback()
def start(self): from flup.server.cgi import WSGIServer self.cgiserver = WSGIServer(*self.args, **self.kwargs) self.ready = True self.cgiserver.run()
def start(self): """Start the CGI server.""" from flup.server.cgi import WSGIServer self.cgiserver = WSGIServer(*self.args, **self.kwargs) self.ready = True self.cgiserver.run()
:param app: the WSGI application ''' def __init__(self, app, script_name=None): self.app = app self.script_name = script_name def __call__(self, environ, start_response): if self.script_name is not None: environ['SCRIPT_NAME'] = self.script_name path_info = environ.get('PATH_INFO', '') if path_info.startswith(self.script_name): environ['PATH_INFO'] = path_info[len(self.script_name):] return self.app(environ, start_response) if __name__ == '__main__': #from flup.server.fcgi import WSGIServer from flup.server.cgi import WSGIServer import cgitb cgitb.enable() try: from flask_angular_scaffold.app import app app.debug = True server = WSGIServer(CleanScriptName(app, '/flask_angular_scaffold')).run() except Exception as e: import logging logging.basicConfig() logging.getLogger(__name__).exception(e)
def start_fcgi(server): from flup.server.fcgi import WSGIServer WSGIServer(server).run() sys.exit(0)