diff options
Diffstat (limited to 'src/main.py')
-rw-r--r-- | src/main.py | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/src/main.py b/src/main.py index 56c8e9e..b678aae 100644 --- a/src/main.py +++ b/src/main.py @@ -1,24 +1,28 @@ -import http.server -import logging +import sanic import os -import sys -import server +import controller -logger = logging.getLogger(__name__) -hostName = os.environ['HOST'] -serverPort = int(os.environ['PORT']) +app = sanic.Sanic("Files") -if __name__ == '__main__': - logging.basicConfig(stream=sys.stdout, level=logging.INFO) - webServer = http.server.HTTPServer((hostName, serverPort), server.MyServer) - logger.info('Server started at http://%s:%s.' % (hostName, serverPort)) +@app.get("/") +async def index(request): + return controller.index() - try: - webServer.serve_forever() - except KeyboardInterrupt: - pass +@app.post("/", stream = True) +async def upload(request): + return await controller.upload(request) - webServer.server_close() - conn.close() - logger.info('Server stopped.') +@app.get("/<file_id:str>") +async def file_page(request, file_id): + return await controller.file(file_id, download = False) + +@app.get("/<file_id:str>/download") +async def file_download(request, file_id): + return await controller.file(file_id, download = True) + +app.static("/static/", "static/") + +if __name__ == "__main__": + debug = 'DEBUG' in os.environ and os.environ['DEBUG'] == 'TRUE' + app.run(debug=debug, access_log=True) |