Update app.py
Browse files
app.py
CHANGED
@@ -8,13 +8,18 @@ import time
|
|
8 |
app = Flask(__name__)
|
9 |
CORS(app)
|
10 |
|
|
|
11 |
storage = {}
|
12 |
|
|
|
|
|
|
|
|
|
13 |
@app.route('/api/store', methods=['POST'])
|
14 |
def store():
|
15 |
req = request.get_json()
|
16 |
data = req.get('data')
|
17 |
-
ttl = int(req.get('ttl', 3600)) # default 1 hour
|
18 |
view_once = bool(req.get('view_once', False))
|
19 |
|
20 |
secret_id = str(uuid.uuid4())[:8]
|
@@ -49,8 +54,9 @@ def cleanup():
|
|
49 |
expired_keys = [k for k, v in storage.items() if now > v['expire_at']]
|
50 |
for k in expired_keys:
|
51 |
del storage[k]
|
52 |
-
time.sleep(60)
|
53 |
|
|
|
54 |
threading.Thread(target=cleanup, daemon=True).start()
|
55 |
|
56 |
if __name__ == "__main__":
|
|
|
8 |
app = Flask(__name__)
|
9 |
CORS(app)
|
10 |
|
11 |
+
# In-memory storage
|
12 |
storage = {}
|
13 |
|
14 |
+
@app.route("/")
|
15 |
+
def index():
|
16 |
+
return "✅ Sharelock-style secret backend is running."
|
17 |
+
|
18 |
@app.route('/api/store', methods=['POST'])
|
19 |
def store():
|
20 |
req = request.get_json()
|
21 |
data = req.get('data')
|
22 |
+
ttl = int(req.get('ttl', 3600)) # Time to live in seconds (default: 1 hour)
|
23 |
view_once = bool(req.get('view_once', False))
|
24 |
|
25 |
secret_id = str(uuid.uuid4())[:8]
|
|
|
54 |
expired_keys = [k for k, v in storage.items() if now > v['expire_at']]
|
55 |
for k in expired_keys:
|
56 |
del storage[k]
|
57 |
+
time.sleep(60) # Run every minute
|
58 |
|
59 |
+
# Start cleanup thread
|
60 |
threading.Thread(target=cleanup, daemon=True).start()
|
61 |
|
62 |
if __name__ == "__main__":
|