diff --git a/main.py b/main.py index 8ed7a46..0a3cc94 100644 --- a/main.py +++ b/main.py @@ -25,7 +25,7 @@ from zip import Zip import boto3 import db from sqlalchemy.orm import Session -from fastapi import FastAPI, Response, Form, UploadFile, File +from fastapi import FastAPI, Response, Form, UploadFile, File, Request import uvicorn from typing import Annotated @@ -438,11 +438,31 @@ async def fa_root(): return {"message": "Hello World"} -@app.post("/login") -async def fa_login(response: Response): +@app.get("/login") +async def fa_login_get(response: Response): response.set_cookie(key='sessionid', value='87654321') response.set_cookie(key='csrftoken', value='12345678') - return {"login": "Ok"} + return {"login": "Ok", "success": True} + + +@app.post("/login") +async def fa_login(response: Response): + logger.warning('login action') + response.set_cookie(key='sessionid', value='87654321') + response.set_cookie(key='csrftoken', value='12345678') + return {"login": "Ok", "success": True} + + +@app.post('/webapi') +async def fa_webapi(request: Request): + body = await request.body() + logger.warning('webapi') + if 'has_perm' in body.decode('utf-8'): + return Response(content='success1', + media_type='application/xml') + else: + return Response(content='1', + media_type='application/xml') @app.post("/api/easo/PutObject") @@ -451,7 +471,7 @@ async def fa_put_object(response: Response, object_file: Annotated[UploadFile, File()] ): date = datetime.datetime.now() - files = [{'name': object_file.filename, 'url': object_file.file.name, 'size': os.path.getsize(object_file.size)}] + files = [{'name': object_file.filename, 'url': object_file.file.name, 'size': object_file.size}] request_params = { 'from': '', 'to': '', @@ -483,7 +503,7 @@ def main(): try: logger.warning('Start server') - uvicorn.run(app, host="0.0.0.0", port=9001) + uvicorn.run(app, host="0.0.0.0", port=80) except KeyboardInterrupt: logger.warning('Exiting') diff --git a/requirements.txt b/requirements.txt index 1ecd2b9..2e95daa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,7 @@ aiohttp==3.8.4 aiosignal==1.3.1 +annotated-types==0.5.0 +anyio==3.7.1 async-timeout==4.0.3 attrs==23.1.0 backoff==2.2.1 @@ -7,22 +9,32 @@ boto3==1.28.37 botocore==1.31.40 certifi==2023.7.22 charset-normalizer==3.2.0 +click==8.1.7 +fastapi==0.103.1 frozenlist==1.4.0 gql==3.5.0b5 graphql-core==3.3.0a3 +greenlet==2.0.2 +h11==0.14.0 idna==3.4 +infra @ file:///home/ashatora/PycharmProjects/xmlrpcserver/deps/infra-0.2-py3-none-any.whl#sha256=b4dae258fa13c1f60ea1fdf70466c7a374529cf4cdfdef76579a2a0f8022e2a3 jmespath==1.0.1 multidict==6.0.4 pika==1.3.2 pika-stubs==0.1.3 +psycopg==3.1.10 +pydantic==2.3.0 +pydantic_core==2.6.3 +pygost==5.12 python-dateutil==2.8.2 +python-multipart==0.0.6 requests==2.31.0 s3transfer==0.6.2 six==1.16.0 +sniffio==1.3.0 +SQLAlchemy==2.0.20 +starlette==0.27.0 typing_extensions==4.7.1 urllib3==2.0.4 +uvicorn==0.23.2 yarl==1.9.2 -SQLAlchemy~=2.0.20 -fastapi=~0.103.1 -uvicorn=~0.23.2 -python-multipart=~0.0.6