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.script.serve import ensure_port_cleanup
0004from paste.translogger import TransLogger
0005
0006def run_server(wsgi_app, global_conf, host='localhost',
0007               port=8080):
0008    from wsgiutils import wsgiServer
0009    import logging
0010    logged_app = TransLogger(wsgi_app)
0011    port = int(port)
0012    # For some reason this is problematic on this server:
0013    ensure_port_cleanup([(host, port)], maxtries=2, sleeptime=0.5)
0014    app_map = {'': logged_app}
0015    server = wsgiServer.WSGIServer((host, port), app_map)
0016    logged_app.logger.info('Starting HTTP server on http://%s:%s',
0017                           host, port)
0018    server.serve_forever()