예제 #1
0
def main(argv=None):
    if not argv:
        argv = sys.argv

    if len(argv) < 2:
        usage(argv)

    load_dotenv_vars()
    env = Env()

    config_uri = argv[1]
    wsgi_app = get_app(config_uri)
    setup_logging(config_uri)

    import cherrypy

    cherrypy.tree.graft(wsgi_app, '/')
    cherrypy.server.unsubscribe()

    from cherrypy._cpserver import Server

    server = Server()
    server.socket_host = env.host
    server.socket_port = env.port
    server.thread_pool = 10
    server.subscribe()

    cherrypy.engine.start()
    cherrypy.engine.block()
예제 #2
0
파일: ooba.py 프로젝트: darkisildur/YAPT
    def __init__(self):
        self._host = c.conf.YAPT.WebUiAddress
        self._port = int(c.conf.YAPT.OobaUiPort)
        self._current_dir = os.path.dirname(os.path.abspath(__file__))

        yapt_rest_server = Server()
        yapt_rest_server.socket_host = self._host
        yapt_rest_server.socket_port = self._port
        yapt_rest_server.subscribe()
예제 #3
0
def start_httpd(broker, client):
    securityObject = security.Security()
    cherrypy.tools.CORS = cherrypy.Tool('before_handler', CORS)
    cherrypy.tree.mount(CommandsApi(broker, securityObject), '/commands', conf)
    server = Server()
    server.socket_port = config.HTTPD_PUBLIC_PORT
    server.socket_host = '0.0.0.0'
    server.subscribe()
    cherrypy.config.update({'server.socket_host': '0.0.0.0'})
    cherrypy.tree.mount(ClientsApi(securityObject), '/clients', conf)
    cherrypy.engine.start()
    cherrypy.engine.block()
예제 #4
0
    def __init__(self):

        self._host = c.conf.YAPT.WebUiAddress
        self._port = int(c.conf.YAPT.WebUiPort)
        self._scheme = 'ws'

        Plugin(cherrypy.engine).subscribe()
        AMQP(cherrypy.engine).subscribe()

        cherrypy.tools.websocket = WebSocketTool()

        yapt_server = Server()
        yapt_server.socket_host = self._host
        yapt_server.socket_port = self._port
        yapt_server.max_request_body_size = 838860800
        yapt_server.subscribe()
예제 #5
0
파일: rest.py 프로젝트: darkisildur/YAPT
    def __init__(self):
        _backendp = BackendClientProcessor(
            exchange='', routing_key=c.AMQP_RPC_BACKEND_QUEUE)
        self._setattr_url_map(args=_backendp)

        _host = c.conf.YAPT.WebUiAddress
        _port = int(c.conf.YAPT.RestApiPort)

        yapt_rest_server = Server()
        yapt_rest_server.socket_host = _host
        yapt_rest_server.socket_port = _port
        yapt_rest_server.subscribe()
        cherrypy.tools.cors_tool = cherrypy.Tool('before_request_body',
                                                 cors_tool,
                                                 name='cors_tool',
                                                 priority=50)
예제 #6
0
def _get_root_start():
    # # Set up path to db file
    db_path = os.path.abspath(os.path.join(os.curdir, rasp_settings.db_file))
    rasphome.database.set_db_path('sqlite:///%s' % db_path)

    # # Set up Admin User name and Default admin user
    # noinspection PyArgumentList
    create_init_db()

    # # Set up Sqlalchemy Plugin and Tool
    rasphome.database.SAEnginePlugin(cherrypy.engine).subscribe()
    cherrypy.tools.db = rasphome.database.SATool()

    # # Activate additional SSL Server
    from cherrypy._cpserver import Server
    server = Server()
    server.socket_host = '0.0.0.0'
    server.socket_port = rasp_settings.https_port
    server.ssl_certificate = './cert.pem'
    server.ssl_private_key = './privatekey.pem'
    server.subscribe()

    # # Do other config
    config = {
        'global' : {
            'server.socket_host' : '0.0.0.0',
            'server.socket_port' : rasp_settings.http_port
        },
        '/' : {
            'tools.auth_basic.on': True,
            'tools.auth_basic.realm': 'earth',
            'tools.auth_basic.checkpassword': rasphome.authorization.checkpassword(),
            'tools.db.on' : True,
            'request.dispatch': cherrypy.dispatch.MethodDispatcher()
        }
    }

    # # Set up Api
    root = rasphome.api.Root()
    root.backend = rasphome.api.Backend_api()
    root.monitor = rasphome.api.Monitor_api()
    root.node = rasphome.api.Node_api()
    root.room = rasphome.api.Room_api()
    root.user = rasphome.api.User_api()

    setUpLogger()
    return root, config
예제 #7
0
def run():
    config = {
        'server.socket_host': '0.0.0.0',
        'server.socket_port': app.config['PORT'],
        'engine.autoreload.on': app.config['AUTO_RELOAD'],
        'log.screen': app.config['DEBUG'],
        'log.error_file': os.path.join(app.config['LOGS_DIR'], 'error.log')
    }
    cherrypy.config.update(config)

    cherrypy.tree.graft(app, '/')

    https_server = Server()
    https_server.socket_host = '0.0.0.0'
    https_server.socket_port = app.config['PORT_SECURE']
    https_server.ssl_module = 'pyopenssl'
    https_server.ssl_certificate = app.config['SSL_PATH']['crt']
    https_server.ssl_private_key = app.config['SSL_PATH']['key']

    https_server.subscribe()
    cherrypy.engine.start()
    cherrypy.engine.block()