diff options
author | Zuul <zuul@review.opendev.org> | 2019-10-22 20:56:19 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2019-10-22 20:56:19 +0000 |
commit | 1cd2dddf3f181a792b9cb2e9fd02b11ea9896f11 (patch) | |
tree | ec6423ee241c00f951a2b469d5accd33e734f933 | |
parent | d8c2718e4fc04633eb192483561ff1bf9294a5f7 (diff) | |
parent | 282392158262e1afd1a2e9f7f9d6b9d2bda0fb1c (diff) | |
download | designate-1cd2dddf3f181a792b9cb2e9fd02b11ea9896f11.tar.gz |
Merge "Fix api version not providing the full url"
-rw-r--r-- | designate/api/versions.py | 40 | ||||
-rw-r--r-- | designate/conf/api.py | 2 | ||||
-rw-r--r-- | releasenotes/notes/deprecated--api-base-uri-d759b65d8b0e67a1.yaml | 5 |
3 files changed, 22 insertions, 25 deletions
diff --git a/designate/api/versions.py b/designate/api/versions.py index 520e08f6..56854eeb 100644 --- a/designate/api/versions.py +++ b/designate/api/versions.py @@ -22,36 +22,28 @@ cfg.CONF.import_opt('enable_host_header', 'designate.api', group='service:api') def factory(global_config, **local_conf): app = flask.Flask('designate.api.versions') - versions = [] - - base = cfg.CONF['service:api'].api_base_uri.rstrip('/') - - def _host_header_links(): - del versions[:] - host_url = flask.request.host_url.rstrip('/') - _version('v2', 'CURRENT', host_url) - - def _version(version, status, base_uri): - versions.append({ - 'id': '%s' % version, - 'status': status, - 'links': [{ - 'href': base_uri + '/' + version, - 'rel': 'self' - }] - }) - - if cfg.CONF['service:api'].enable_api_v2: - _version('v2', 'CURRENT', base) - @app.route('/', methods=['GET']) def version_list(): if cfg.CONF['service:api'].enable_host_header: - _host_header_links() + url_root = flask.request.url_root + else: + url_root = cfg.CONF['service:api'].api_base_uri return flask.jsonify({ "versions": { - "values": versions + "values": [{ + 'id': 'v2', + 'status': 'CURRENT', + 'links': [ + { + 'href': url_root.rstrip('/') + '/v2', + 'rel': 'self', + }, { + 'rel': 'help', + 'href': 'https://docs.openstack.org/api-ref/dns' + } + ] + }] } }) diff --git a/designate/conf/api.py b/designate/conf/api.py index d9c40c26..f102037c 100644 --- a/designate/conf/api.py +++ b/designate/conf/api.py @@ -25,7 +25,7 @@ API_OPTS = [ help='Number of api worker processes to spawn'), cfg.IntOpt('threads', default=1000, help='Number of api greenthreads to spawn'), - cfg.BoolOpt('enable_host_header', default=False, + cfg.BoolOpt('enable_host_header', default=True, help='Enable host request headers'), cfg.StrOpt('api_base_uri', default='http://127.0.0.1:9001/', help='the url used as the base for all API responses,' diff --git a/releasenotes/notes/deprecated--api-base-uri-d759b65d8b0e67a1.yaml b/releasenotes/notes/deprecated--api-base-uri-d759b65d8b0e67a1.yaml new file mode 100644 index 00000000..56dd49b5 --- /dev/null +++ b/releasenotes/notes/deprecated--api-base-uri-d759b65d8b0e67a1.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + The ``[service:api]`` option ``enable_host_header`` is now enabled by + default. |