fix sync webexporter

This commit is contained in:
Ivan Vazhenin
2023-09-24 16:21:34 +03:00
parent 87cb86a7f9
commit 84d421c5f0
2 changed files with 42 additions and 10 deletions

32
main.py
View File

@@ -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='<?xml version="1.0"?><methodResponse><params><param><value><struct><member><name>success</name><value><boolean>1</boolean></value></member></struct></value></param></params></methodResponse>',
media_type='application/xml')
else:
return Response(content='<?xml version="1.0"?><methodResponse><params><param><value><boolean>1</boolean></value></param></params></methodResponse>',
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')