def __init__(self, *args, **kwargs): log.wrapper( OuterClass, f'in {InnerClass.__name__}.__init__(*{args},**{kwargs})', None) apiInstance = FlaskUtil.getApi() OuterClass.__init__(self) FlaskUtil.Resource.__init__(self, *args, **kwargs) self.service = apiInstance.resource.service self.globals = apiInstance.globals
def runApi(*args, api=None, **kwargs): if ObjectHelper.isNone(api): api = FlaskUtil.getApi() muteLogs(api) if 'host' not in kwargs and api.host: kwargs['host'] = api.host if not 'localhost' == api.host else '0.0.0.0' if 'port' not in kwargs and api.port: kwargs['port'] = api.port apiUrl = getApiUrl(api) documentationUrl = OpenApiManager.getDocumentationUrl(api) healthCheckUrl = f'{documentationUrl[:-len(OpenApiManager.DOCUMENTATION_ENDPOINT)]}{HealthCheckConstant.URI}' log.success(runApi, f'Api will run at {apiUrl}') log.success(runApi, f'Health check will be available at {healthCheckUrl}') log.success(runApi, f'Documentation will be available at {documentationUrl}') api.app.run(*args, **kwargs) SessionManager.onShutdown(api, api.app) ApiKeyManager.onShutdown(api, api.app) SecurityManager.onShutdown(api, api.app) SchedulerManager.onShutdown(api, api.app) SqlAlchemyProxy.onShutdown(api, api.app) log.success(runApi, f'{api.globals.apiName} successfully shutdown')
def getApi(): return FlaskUtil.getApi()