File size: 1,099 Bytes
08ca036 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import json
from urllib.parse import quote
from fastapi import Request
from fastapi.responses import HTMLResponse
from app import app, templates
from gateway.login import login_html
from utils.kv_utils import set_value_for_key
with open("templates/chatgpt_context.json", "r", encoding="utf-8") as f:
chatgpt_context = json.load(f)
@app.get("/", response_class=HTMLResponse)
async def chatgpt_html(request: Request):
token = request.query_params.get("token")
if not token:
token = request.cookies.get("token")
if not token:
return await login_html(request)
if len(token) != 45 and not token.startswith("eyJhbGciOi"):
token = quote(token)
user_remix_context = chatgpt_context.copy()
set_value_for_key(user_remix_context, "user", {"id": "user-chatgpt"})
set_value_for_key(user_remix_context, "accessToken", token)
response = templates.TemplateResponse("chatgpt.html", {"request": request, "remix_context": user_remix_context})
response.set_cookie("token", value=token, expires="Thu, 01 Jan 2099 00:00:00 GMT")
return response
|