import os from flask import Flask, request, session from flask_restful import Api, Resource from flask_cors import CORS, cross_origin from .localtunnelstat import SSHSession app = Flask(__name__) app.config['DEBUG'] = True app.config['SECRET_KEY'] = 'asdasfdfj' import datetime app.config['PERMANENT_SESSION_LIFETIME'] = datetime.timedelta(seconds=1200) app.config['SESSION_REFRESH_EACH_REQUEST'] = True api = Api(app) sshsessions = {} CORS(app, supports_credentials=True, origin="*") islocal = True from . import apiendpoints @app.after_request def after_cleanup_sessions(response): import logging logger=logging.getLogger() logger.debug("in after_cleanup_sessions") sshsessid = session.get('sshsessid', None) print("the sshsessid for this request was {}".format(sshsessid)) # kvsessionextension.cleanup_sessions(app) _ttl = app.config['PERMANENT_SESSION_LIFETIME'] if isinstance(_ttl, int): ttl = datetime.timedelta(seconds=_ttl) else: ttl = _ttl for k, sshsess in list(sshsessions.items()): if datetime.datetime.now() > sshsess.last + ttl: print("session last seen at {} now {}".format(sshsess.last,datetime.datetime.now())) sshsess.kill() del sshsessions[k] return response if __name__ == '__main__': app.run()