forked from open-webui/open-webui
feat: cache request body
This commit is contained in:
parent
0b8df52c97
commit
1b040143eb
1 changed files with 10 additions and 2 deletions
|
@ -81,10 +81,15 @@ async def speech(request: Request, user=Depends(get_current_user)):
|
||||||
|
|
||||||
body = await request.body()
|
body = await request.body()
|
||||||
|
|
||||||
filename = hashlib.sha256(body).hexdigest() + ".mp3"
|
print(body)
|
||||||
|
print(type(body))
|
||||||
|
|
||||||
|
name = hashlib.sha256(body).hexdigest()
|
||||||
|
|
||||||
SPEECH_CACHE_DIR = Path(CACHE_DIR).joinpath("./audio/speech/")
|
SPEECH_CACHE_DIR = Path(CACHE_DIR).joinpath("./audio/speech/")
|
||||||
SPEECH_CACHE_DIR.mkdir(parents=True, exist_ok=True)
|
SPEECH_CACHE_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
file_path = SPEECH_CACHE_DIR.joinpath(filename)
|
file_path = SPEECH_CACHE_DIR.joinpath(f"{name}.mp3")
|
||||||
|
file_body_path = SPEECH_CACHE_DIR.joinpath(f"{name}.json")
|
||||||
|
|
||||||
print(file_path)
|
print(file_path)
|
||||||
|
|
||||||
|
@ -114,6 +119,9 @@ async def speech(request: Request, user=Depends(get_current_user)):
|
||||||
for chunk in r.iter_content(chunk_size=8192):
|
for chunk in r.iter_content(chunk_size=8192):
|
||||||
f.write(chunk)
|
f.write(chunk)
|
||||||
|
|
||||||
|
with open(file_body_path, "w") as f:
|
||||||
|
json.dump(json.loads(body.decode("utf-8")), f)
|
||||||
|
|
||||||
# Return the saved file
|
# Return the saved file
|
||||||
return FileResponse(file_path)
|
return FileResponse(file_path)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue