From 0032ed92370eeeb1e71d8fb47930df14a3585d2e Mon Sep 17 00:00:00 2001 From: licanwei Date: Wed, 27 Nov 2019 14:47:19 +0800 Subject: [PATCH] replace host_url with application_url for url http://localhost/infra-optim pecan.request.host_url is http://localhost and pecan.request.application_url is http://localhost/infra-optim we should use application_url to make href in links. Change-Id: I5d7746b3da196ea2e072fbdf1adb1523ba2bffaf Closes-Bug: #1854119 --- watcher/api/controllers/link.py | 2 +- watcher/api/controllers/root.py | 3 ++- watcher/api/controllers/v1/__init__.py | 31 +++++++++++++------------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/watcher/api/controllers/link.py b/watcher/api/controllers/link.py index 6c89fe166..91094323e 100644 --- a/watcher/api/controllers/link.py +++ b/watcher/api/controllers/link.py @@ -23,7 +23,7 @@ from watcher.api.controllers import base def build_url(resource, resource_args, bookmark=False, base_url=None): if base_url is None: - base_url = pecan.request.host_url + base_url = pecan.request.application_url template = '%(url)s/%(res)s' if bookmark else '%(url)s/v1/%(res)s' # FIXME(lucasagomes): I'm getting a 404 when doing a GET on diff --git a/watcher/api/controllers/root.py b/watcher/api/controllers/root.py index d9ac5b7eb..835b33c65 100644 --- a/watcher/api/controllers/root.py +++ b/watcher/api/controllers/root.py @@ -59,7 +59,8 @@ class Version(base.APIBase): version.status = status version.max_version = v.max_version_string() version.min_version = v.min_version_string() - version.links = [link.Link.make_link('self', pecan.request.host_url, + version.links = [link.Link.make_link('self', + pecan.request.application_url, id, '', bookmark=True)] return version diff --git a/watcher/api/controllers/v1/__init__.py b/watcher/api/controllers/v1/__init__.py index 6a5de97bd..c59febb4a 100644 --- a/watcher/api/controllers/v1/__init__.py +++ b/watcher/api/controllers/v1/__init__.py @@ -137,7 +137,8 @@ class V1(APIBase): def convert(): v1 = V1() v1.id = "v1" - v1.links = [link.Link.make_link('self', pecan.request.host_url, + base_url = pecan.request.application_url + v1.links = [link.Link.make_link('self', base_url, 'v1', '', bookmark=True), link.Link.make_link('describedby', 'http://docs.openstack.org', @@ -148,54 +149,54 @@ class V1(APIBase): v1.media_types = [MediaType('application/json', 'application/vnd.openstack.watcher.v1+json')] v1.audit_templates = [link.Link.make_link('self', - pecan.request.host_url, + base_url, 'audit_templates', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'audit_templates', '', bookmark=True) ] - v1.audits = [link.Link.make_link('self', pecan.request.host_url, + v1.audits = [link.Link.make_link('self', base_url, 'audits', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'audits', '', bookmark=True) ] - v1.data_model = [link.Link.make_link('self', pecan.request.host_url, + v1.data_model = [link.Link.make_link('self', base_url, 'data_model', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'data_model', '', bookmark=True) ] - v1.actions = [link.Link.make_link('self', pecan.request.host_url, + v1.actions = [link.Link.make_link('self', base_url, 'actions', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'actions', '', bookmark=True) ] v1.action_plans = [link.Link.make_link( - 'self', pecan.request.host_url, 'action_plans', ''), + 'self', base_url, 'action_plans', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'action_plans', '', bookmark=True) ] v1.scoring_engines = [link.Link.make_link( - 'self', pecan.request.host_url, 'scoring_engines', ''), + 'self', base_url, 'scoring_engines', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'scoring_engines', '', bookmark=True) ] v1.services = [link.Link.make_link( - 'self', pecan.request.host_url, 'services', ''), + 'self', base_url, 'services', ''), link.Link.make_link('bookmark', - pecan.request.host_url, + base_url, 'services', '', bookmark=True) ]