Spaces:
Paused
Paused
machsix
use Blueprint to handle static files, add "url_prefix" in config.json for reverse proxy
9ca54c4
| from flask import render_template, redirect, url_for | |
| from time import time | |
| from os import urandom | |
| class Website: | |
| def __init__(self, bp, url_prefix) -> None: | |
| self.bp = bp | |
| self.url_prefix = url_prefix | |
| self.routes = { | |
| '/': { | |
| 'function': lambda: redirect(url_for('._index')), | |
| 'methods': ['GET', 'POST'] | |
| }, | |
| '/chat/': { | |
| 'function': self._index, | |
| 'methods': ['GET', 'POST'] | |
| }, | |
| '/chat/<conversation_id>': { | |
| 'function': self._chat, | |
| 'methods': ['GET', 'POST'] | |
| } | |
| } | |
| def _chat(self, conversation_id): | |
| if '-' not in conversation_id: | |
| return redirect(url_for('._index')) | |
| return render_template('index.html', chat_id=conversation_id) | |
| def _index(self): | |
| return render_template('index.html', chat_id=f'{urandom(4).hex()}-{urandom(2).hex()}-{urandom(2).hex()}-{urandom(2).hex()}-{hex(int(time() * 1000))[2:]}', url_prefix=self.url_prefix) | |