kekekekek/main.py

29 lines
871 B
Python
Raw Normal View History

2024-10-29 22:42:55 +03:00
from fastapi import FastAPI, HTTPException, Depends
from pydantic import BaseModel
from aioredis import Redis
from aioredis.client import Redis as RedisClient
import aioredis
app = FastAPI()
2024-10-29 23:02:23 +03:00
REDIS_URL = "redis://redis:6379"
2024-10-29 22:42:55 +03:00
REDIS_KEY = "stored_string"
async def get_redis() -> RedisClient:
return await aioredis.from_url(REDIS_URL, encoding="utf-8", decode_responses=True)
class StringRequest(BaseModel):
text: str
@app.post("/string", status_code=201)
async def create_string(request: StringRequest, redis: Redis = Depends(get_redis)):
await redis.set(REDIS_KEY, request.text)
2024-10-29 23:05:43 +03:00
return request.text
2024-10-29 22:42:55 +03:00
@app.get("/string")
async def get_string(redis: Redis = Depends(get_redis)):
stored_string = await redis.get(REDIS_KEY)
if stored_string is None:
raise HTTPException(status_code=404, detail="No string found.")
2024-10-29 23:05:43 +03:00
return stored_string