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 json
import uvicorn import uvicorn
from TheCodeLabs_BaseUtils.DefaultLogger import DefaultLogger
from fastapi import FastAPI from fastapi import FastAPI
from starlette.responses import RedirectResponse, JSONResponse from starlette.responses import RedirectResponse, JSONResponse
...@@ -10,14 +11,16 @@ from logic.databaseNew import Models ...@@ -10,14 +11,16 @@ from logic.databaseNew import Models
from logic.databaseNew.Database import engine from logic.databaseNew.Database import engine
from routers import DeviceRouter from routers import DeviceRouter
LOGGER = DefaultLogger().create_logger_if_not_exists(Constants.APP_NAME)
# create database tables # create database tables
Models.Base.metadata.create_all(bind=engine) Models.Base.metadata.create_all(bind=engine)
with open('version.json', 'r', encoding='UTF-8') as f: 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, app = FastAPI(title=Constants.APP_NAME,
version=versionInfo['name'], version=VERSION['name'],
description='The StorageLeaf API') description='The StorageLeaf API')
app.include_router(DeviceRouter.router) app.include_router(DeviceRouter.router)
...@@ -29,7 +32,26 @@ async def root(): ...@@ -29,7 +32,26 @@ async def root():
@app.get('/version') @app.get('/version')
async def version(): async def version():
return JSONResponse(content=versionInfo) return JSONResponse(content=VERSION)
if __name__ == '__main__': 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