fix-obj-2
All checks were successful
Deploy on Push / deploy (push) Successful in 31s

This commit is contained in:
Untone 2024-05-06 17:11:01 +03:00
parent 7353676000
commit be3d6f7f76

24
main.py
View File

@ -1,7 +1,7 @@
import os
import tempfile
import uuid
import aiobotocore.session
from aiobotocore.session import get_session
import asyncio
from starlette.applications import Starlette
from starlette.responses import JSONResponse
@ -10,7 +10,6 @@ from starlette.requests import Request
from auth import login_required
from logger import root_logger as logger
from settings import (
PORT,
STORJ_ACCESS_KEY,
@ -20,18 +19,14 @@ from settings import (
STORJ_END_POINT,
)
async def create_s3_client():
return (
aiobotocore.session.get_session()
.create_client(
session = get_session()
return session.create_client(
"s3",
aws_access_key_id=STORJ_ACCESS_KEY,
aws_secret_access_key=STORJ_SECRET_KEY,
endpoint_url=STORJ_END_POINT,
)
)
@login_required
async def upload_handler(request: Request):
@ -47,12 +42,11 @@ async def upload_handler(request: Request):
key = str(uuid.uuid4()) + file_extension
logger.debug(f"Generated file key: {key}")
s3 = await create_s3_client()
bucket_resource = s3.Bucket(STORJ_BUCKET_NAME)
async with create_s3_client() as s3:
logger.debug("Starting file upload to S3")
content = await file.read()
await bucket_resource.put_object(
resp = await s3.put_object(
Bucket=STORJ_BUCKET_NAME,
Key=key,
Body=content,
ContentType=file.content_type,
@ -63,16 +57,10 @@ async def upload_handler(request: Request):
logger.info(f"File uploaded successfully: {url}")
return JSONResponse({"url": url, "originalFilename": file.filename})
async def home(request: Request):
logger.debug("Home route called")
return JSONResponse({"message": "Hello World!"})
routes = [
Route("/", home, methods=["GET"]),
Route("/", upload_handler, methods=["POST"]),