예제 #1
0
def main():
    logging.basicConfig(level=logging.DEBUG, format='%(asctime)-15s  %(message)s')

    parser = argparse.ArgumentParser(description='Hyperapp server')
    parser.add_argument('identity_fpath', help='path to identity file')
    parser.add_argument('addr', nargs='?', help='address to listen at', default=DEFAULT_ADDR)
    parser.add_argument('--test-delay', type=float, help='artificial delay for handling requests, seconds')
    args = parser.parse_args()

    identity = Identity.load_from_file(args.identity_fpath)
    host, port = parse_addr(args.addr)
    services = Services()
    server = Server(identity, args.test_delay)
    tcp_server = TcpServer(services.remoting, server, host, port)
    management_url = services.modules.server_management.get_management_url(server.get_public_key())
    url_with_routes = management_url.clone_with_routes(tcp_server.get_routes())
    log.info('Management url: %s', url_with_routes.to_str())
    tcp_server.run()