Allow configuration of openAPI interface
This commit is contained in:
parent
1717121f10
commit
68d148e72d
@ -165,6 +165,7 @@
|
|||||||
"listen_ip_address": "127.0.0.1",
|
"listen_ip_address": "127.0.0.1",
|
||||||
"listen_port": 8080,
|
"listen_port": 8080,
|
||||||
"verbosity": "info",
|
"verbosity": "info",
|
||||||
|
"enable_openapi": false,
|
||||||
"jwt_secret_key": "somethingrandom",
|
"jwt_secret_key": "somethingrandom",
|
||||||
"CORS_origins": [],
|
"CORS_origins": [],
|
||||||
"username": "freqtrader",
|
"username": "freqtrader",
|
||||||
|
@ -12,6 +12,7 @@ Sample configuration:
|
|||||||
"listen_ip_address": "127.0.0.1",
|
"listen_ip_address": "127.0.0.1",
|
||||||
"listen_port": 8080,
|
"listen_port": 8080,
|
||||||
"verbosity": "info",
|
"verbosity": "info",
|
||||||
|
"enable_openapi": false,
|
||||||
"jwt_secret_key": "somethingrandom",
|
"jwt_secret_key": "somethingrandom",
|
||||||
"CORS_origins": [],
|
"CORS_origins": [],
|
||||||
"username": "Freqtrader",
|
"username": "Freqtrader",
|
||||||
@ -263,6 +264,11 @@ whitelist
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## OpenAPI interface
|
||||||
|
|
||||||
|
To enable the builtin openAPI interface, specify `"enable_openapi": true` in the api_server configuration.
|
||||||
|
This will enable the Swagger UI at the `/docs` endpoint. By default, that's running at http://localhost:8080/docs/ - but it'll depend on your settings.
|
||||||
|
|
||||||
## Advanced API usage using JWT tokens
|
## Advanced API usage using JWT tokens
|
||||||
|
|
||||||
!!! Note
|
!!! Note
|
||||||
|
@ -26,8 +26,13 @@ class ApiServer(RPCHandler):
|
|||||||
|
|
||||||
ApiServer._rpc = rpc
|
ApiServer._rpc = rpc
|
||||||
ApiServer._config = config
|
ApiServer._config = config
|
||||||
|
api_config = self._config['api_server']
|
||||||
|
|
||||||
self.app = FastAPI(title="Freqtrade API")
|
self.app = FastAPI(title="Freqtrade API",
|
||||||
|
openapi_url='openapi.json' if api_config.get(
|
||||||
|
'enable_openapi') else None,
|
||||||
|
redoc_url=None,
|
||||||
|
)
|
||||||
self.configure_app(self.app, self._config)
|
self.configure_app(self.app, self._config)
|
||||||
|
|
||||||
self.start_api()
|
self.start_api()
|
||||||
@ -92,10 +97,11 @@ class ApiServer(RPCHandler):
|
|||||||
"Others may be able to log into your bot.")
|
"Others may be able to log into your bot.")
|
||||||
|
|
||||||
logger.info('Starting Local Rest Server.')
|
logger.info('Starting Local Rest Server.')
|
||||||
|
verbosity = self._config['api_server'].get('verbosity', 'info')
|
||||||
uvconfig = uvicorn.Config(self.app,
|
uvconfig = uvicorn.Config(self.app,
|
||||||
port=rest_port,
|
port=rest_port,
|
||||||
host=rest_ip,
|
host=rest_ip,
|
||||||
access_log=True)
|
access_log=True if verbosity != 'error' else False)
|
||||||
try:
|
try:
|
||||||
self._server = UvicornServer(uvconfig)
|
self._server = UvicornServer(uvconfig)
|
||||||
self._server.run_in_thread()
|
self._server.run_in_thread()
|
||||||
|
Loading…
Reference in New Issue
Block a user