Skip to content
Snippets Groups Projects
Commit 1739b912 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

added ssl config options

parent a87bc770
No related branches found
No related tags found
No related merge requests found
import json
import uvicorn
from TheCodeLabs_BaseUtils.DefaultLogger import DefaultLogger
from fastapi import FastAPI
from starlette.responses import RedirectResponse, JSONResponse
......@@ -10,14 +11,16 @@ from logic.databaseNew import Models
from logic.databaseNew.Database import engine
from routers import DeviceRouter
LOGGER = DefaultLogger().create_logger_if_not_exists(Constants.APP_NAME)
# create database tables
Models.Base.metadata.create_all(bind=engine)
with open('version.json', 'r', encoding='UTF-8') as f:
versionInfo = json.load(f)['version']
VERSION = json.load(f)['version']
app = FastAPI(title=Constants.APP_NAME,
version=versionInfo['name'],
version=VERSION['name'],
description='The StorageLeaf API')
app.include_router(DeviceRouter.router)
......@@ -29,7 +32,26 @@ async def root():
@app.get('/version')
async def version():
return JSONResponse(content=versionInfo)
return JSONResponse(content=VERSION)
if __name__ == '__main__':
uvicorn.run(app, host=SETTINGS['server']['listen'], port=SETTINGS['server']['port'])
serverSettings = SETTINGS['server']
protocol = 'https' if serverSettings['useSSL'] else 'http'
LOGGER.info(('{name} {versionName}({versionCode}) - '
'Listening on {protocol}://{listen}:{port}...'.format(name=Constants.APP_NAME,
versionName=VERSION['name'],
versionCode=VERSION['code'],
protocol=protocol,
listen=serverSettings['listen'],
port=serverSettings['port'])))
if serverSettings['useSSL']:
uvicorn.run(app, host=serverSettings['listen'], port=serverSettings['port'],
ssl_keyfile=serverSettings['keyfile'],
ssl_certfile=serverSettings['certfile'])
else:
uvicorn.run(app, host=serverSettings['listen'], port=serverSettings['port'])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment