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
This commit is contained in:
licanwei 2019-11-27 14:47:19 +08:00
parent 89055577e6
commit 0032ed9237
3 changed files with 19 additions and 17 deletions

View File

@ -23,7 +23,7 @@ from watcher.api.controllers import base
def build_url(resource, resource_args, bookmark=False, base_url=None): def build_url(resource, resource_args, bookmark=False, base_url=None):
if base_url is 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' 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 # FIXME(lucasagomes): I'm getting a 404 when doing a GET on

View File

@ -59,7 +59,8 @@ class Version(base.APIBase):
version.status = status version.status = status
version.max_version = v.max_version_string() version.max_version = v.max_version_string()
version.min_version = v.min_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)] id, '', bookmark=True)]
return version return version

View File

@ -137,7 +137,8 @@ class V1(APIBase):
def convert(): def convert():
v1 = V1() v1 = V1()
v1.id = "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), 'v1', '', bookmark=True),
link.Link.make_link('describedby', link.Link.make_link('describedby',
'http://docs.openstack.org', 'http://docs.openstack.org',
@ -148,54 +149,54 @@ class V1(APIBase):
v1.media_types = [MediaType('application/json', v1.media_types = [MediaType('application/json',
'application/vnd.openstack.watcher.v1+json')] 'application/vnd.openstack.watcher.v1+json')]
v1.audit_templates = [link.Link.make_link('self', v1.audit_templates = [link.Link.make_link('self',
pecan.request.host_url, base_url,
'audit_templates', ''), 'audit_templates', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'audit_templates', '', 'audit_templates', '',
bookmark=True) bookmark=True)
] ]
v1.audits = [link.Link.make_link('self', pecan.request.host_url, v1.audits = [link.Link.make_link('self', base_url,
'audits', ''), 'audits', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'audits', '', 'audits', '',
bookmark=True) 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', ''), 'data_model', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'data_model', '', 'data_model', '',
bookmark=True) bookmark=True)
] ]
v1.actions = [link.Link.make_link('self', pecan.request.host_url, v1.actions = [link.Link.make_link('self', base_url,
'actions', ''), 'actions', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'actions', '', 'actions', '',
bookmark=True) bookmark=True)
] ]
v1.action_plans = [link.Link.make_link( v1.action_plans = [link.Link.make_link(
'self', pecan.request.host_url, 'action_plans', ''), 'self', base_url, 'action_plans', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'action_plans', '', 'action_plans', '',
bookmark=True) bookmark=True)
] ]
v1.scoring_engines = [link.Link.make_link( v1.scoring_engines = [link.Link.make_link(
'self', pecan.request.host_url, 'scoring_engines', ''), 'self', base_url, 'scoring_engines', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'scoring_engines', '', 'scoring_engines', '',
bookmark=True) bookmark=True)
] ]
v1.services = [link.Link.make_link( v1.services = [link.Link.make_link(
'self', pecan.request.host_url, 'services', ''), 'self', base_url, 'services', ''),
link.Link.make_link('bookmark', link.Link.make_link('bookmark',
pecan.request.host_url, base_url,
'services', '', 'services', '',
bookmark=True) bookmark=True)
] ]