def cli(ctx, verbosity, colored): """ Command Line Interface. Use --help for details. """ if verbosity > 0: # Enable logging util.enable_logging(level=_logging_levels[verbosity]) # Get handler class if colored: handler_class = logbook.more.ColorizedStderrHandler else: handler_class = logbook.StderrHandler # Set up logging handler handler = handler_class(level=_logging_levels[verbosity]) handler.push_application() global _logging_handler _logging_handler = handler # Store on context ctx.obj = {}
def serve(): # Create connection instance connection = Connection( identity='*YOUR_GATEWAY_THREEMA_ID', secret='YOUR_GATEWAY_THREEMA_ID_SECRET', key='private:YOUR_PRIVATE_KEY' ) # Create the application and register the handler for incoming messages application = create_application(connection) add_callback_route(connection, application, handle_message, path='/gateway_callback') # Create an SSL context to terminate TLS. # Note: It is usually advisable to use a reverse proxy instead in front of # the server that terminates TLS, e.g. Nginx. ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) ssl_context.load_cert_chain(certfile='YOUR_CERTFILE', keyfile='YOUR_KEYFILE') # Run a server that listens on any interface via port 8443. It will # gracefully shut down when Ctrl+C has been pressed. web.run_app(application, port=8443, ssl_context=ssl_context) if __name__ == '__main__': util.enable_logging(logbook.WARNING) log_handler = logbook.more.ColorizedStderrHandler() with log_handler.applicationbound(): serve()