Skip to content
Snippets Groups Projects
__init__.py 1.3 KiB
Newer Older
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
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()