baseimage-tutorial-framework/src/event_handlers/terminado_server/server.py

34 lines
1.0 KiB
Python
Raw Normal View History

from tornado.ioloop import IOLoop
from tornado.web import Application
from terminado import TermSocket, UniqueTermManager
from config import TERMINADO_PORT, TERMINADO_WD
2018-01-29 17:36:29 +00:00
from config.logs import logging
log = logging.getLogger(__name__)
class TerminadoMiniServer:
def __init__(self, url, port, workdir, shellcmd):
self.port = port
self.application = Application(
[(
url,
TerminadoMiniServer.CORSTermSocket,
{'term_manager': UniqueTermManager(shell_command=shellcmd,
term_settings={'cwd': workdir})}
)]
)
class CORSTermSocket(TermSocket):
def check_origin(self, origin):
return True
def listen(self):
self.application.listen(self.port)
IOLoop.instance().start()
if __name__ == '__main__':
2018-01-29 17:36:29 +00:00
log.info('Terminado Mini Server listening on {}'.format(TERMINADO_PORT))
TerminadoMiniServer('/terminal', TERMINADO_PORT, TERMINADO_WD, ['bash']).listen()