From 46759142df156b7e1465505aae20bc9893cbd755 Mon Sep 17 00:00:00 2001 From: Stepan Vladovskiy Date: Mon, 6 May 2024 05:03:24 -0300 Subject: [PATCH] feat: debug! more logs --- main.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 69fe0b8..37024c7 100644 --- a/main.py +++ b/main.py @@ -1,13 +1,16 @@ +import logging import os import tempfile import uuid -import aioboto3 # Ensure this is only imported once +import aioboto3 from starlette.applications import Starlette from starlette.responses import JSONResponse from starlette.routing import Route from starlette.requests import Request from auth import check_auth +# Logging configuration +logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') STORJ_ACCESS_KEY = os.environ.get('STORJ_ACCESS_KEY') STORJ_SECRET_KEY = os.environ.get('STORJ_SECRET_KEY') @@ -17,14 +20,17 @@ CDN_DOMAIN = os.environ.get('CDN_DOMAIN') @check_auth async def upload_handler(request: Request): + logging.debug("Received upload request") form = await request.form() file = form.get('file') if file is None: + logging.error("No file uploaded") return JSONResponse({'error': 'No file uploaded'}, status_code=400) file_name, file_extension = os.path.splitext(file.filename) key = str(uuid.uuid4()) + file_extension + logging.debug(f"Generated file key: {key}") async with aioboto3.client('s3', aws_access_key_id=STORJ_ACCESS_KEY, @@ -38,17 +44,21 @@ async def upload_handler(request: Request): tmp_file.write(chunk) tmp_file.flush() + logging.debug("Starting file upload to S3") await s3.upload_file( Filename=tmp_file.name, Bucket=STORJ_BUCKET_NAME, Key=key, ExtraArgs={"ContentType": file.content_type} ) + logging.debug("File upload completed") url = f'http://{CDN_DOMAIN}/{key}' + logging.info(f"File uploaded successfully: {url}") return JSONResponse({'url': url, 'originalFilename': file.filename}) async def home(request: Request): + logging.debug("Home route called") return JSONResponse({'message': 'Hello World!'}) routes = [ @@ -60,4 +70,4 @@ app = Starlette(debug=True, routes=routes) if __name__ == "__main__": import uvicorn - uvicorn.run(app, host='0.0.0.0', port=8080) \ No newline at end of file + uvicorn.run(app, host='0.0.0.0', port=8080)