0001# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
0002# Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
0003from paste.deploy.converters import aslist, asbool
0004from paste.script.serve import ensure_port_cleanup
0005import warnings
0006
0007def warn(name, stacklevel=3):
0008    # Deprecated 2007-12-17
0009    warnings.warn(
0010        'The egg:PasteScript#flup_%s entry point is deprecated; please use egg:Flup#flup_%s instead'
0011        % (name, name),
0012        DeprecationWarning, stacklevel=stacklevel)
0013
0014def run_ajp_thread(wsgi_app, global_conf,
0015                   scriptName='', host='localhost', port='8009',
0016                   allowedServers='127.0.0.1'):
0017    import flup.server.ajp
0018    warn('ajp_thread')
0019    addr = (host, int(port))
0020    ensure_port_cleanup([addr])
0021    s = flup.server.ajp.WSGIServer(
0022        wsgi_app,
0023        scriptName=scriptName,
0024        bindAddress=addr,
0025        allowedServers=aslist(allowedServers),
0026        )
0027    s.run()
0028
0029def run_ajp_fork(wsgi_app, global_conf,
0030                 scriptName='', host='localhost', port='8009',
0031                 allowedServers='127.0.0.1'):
0032    import flup.server.ajp_fork
0033    warn('ajp_fork')
0034    addr = (host, int(port))
0035    ensure_port_cleanup([addr])
0036    s = flup.server.ajp_fork.WSGIServer(
0037        wsgi_app,
0038        scriptName=scriptName,
0039        bindAddress=addr,
0040        allowedServers=aslist(allowedServers),
0041        )
0042    s.run()
0043
0044def run_fcgi_thread(wsgi_app, global_conf,
0045                    host=None, port=None,
0046                    socket=None, umask=None,
0047                    multiplexed=False):
0048    import flup.server.fcgi
0049    warn('fcgi_thread')
0050    if socket:
0051        assert host is None and port is None
0052        sock = socket
0053    elif host:
0054        assert host is not None and port is not None
0055        sock = (host, int(port))
0056        ensure_port_cleanup([sock])
0057    else:
0058        sock = None
0059    if umask is not None:
0060        umask = int(umask)
0061    s = flup.server.fcgi.WSGIServer(
0062        wsgi_app,
0063        bindAddress=sock, umask=umask,
0064        multiplexed=asbool(multiplexed))
0065    s.run()
0066
0067def run_fcgi_fork(wsgi_app, global_conf,
0068                  host=None, port=None,
0069                  socket=None, umask=None,
0070                  multiplexed=False):
0071    import flup.server.fcgi_fork
0072    warn('fcgi_fork')
0073    if socket:
0074        assert host is None and port is None
0075        sock = socket
0076    elif host:
0077        assert host is not None and port is not None
0078        sock = (host, int(port))
0079        ensure_port_cleanup([sock])
0080    else:
0081        sock = None
0082    if umask is not None:
0083        umask = int(umask)
0084    s = flup.server.fcgi_fork.WSGIServer(
0085        wsgi_app,
0086        bindAddress=sock, umask=umask,
0087        multiplexed=asbool(multiplexed))
0088    s.run()
0089
0090def run_scgi_thread(wsgi_app, global_conf,
0091                    scriptName='', host='localhost', port='4000',
0092                    allowedServers='127.0.0.1'):
0093    import flup.server.scgi
0094    warn('scgi_thread')
0095    addr = (host, int(port))
0096    ensure_port_cleanup([addr])
0097    s = flup.server.scgi.WSGIServer(
0098        wsgi_app,
0099        scriptName=scriptName,
0100        bindAddress=addr,
0101        allowedServers=aslist(allowedServers),
0102        )
0103    s.run()
0104
0105def run_scgi_fork(wsgi_app, global_conf,
0106                  scriptName='', host='localhost', port='4000',
0107                  allowedServers='127.0.0.1'):
0108    import flup.server.scgi_fork
0109    warn('scgi_fork')
0110    addr = (host, int(port))
0111    ensure_port_cleanup([addr])
0112    s = flup.server.scgi_fork.WSGIServer(
0113        wsgi_app,
0114        scriptName=scriptName,
0115        bindAddress=addr,
0116        allowedServers=aslist(allowedServers),
0117        )
0118    s.run()