Fix resource links in API endpoints
Change-Id: Ia1a0c9102fcc930d96b6e4c0f2c5ef4bef70c5be Closes-Bug: #1896192
This commit is contained in:
parent
9eae67abc6
commit
b823eb3507
|
@ -76,14 +76,18 @@ class APIv2Adapter(base.DesignateAdapter):
|
|||
#####################
|
||||
|
||||
@classmethod
|
||||
def _get_resource_links(cls, obj, request):
|
||||
def _get_base_url(cls, request):
|
||||
if cfg.CONF['service:api'].enable_host_header:
|
||||
try:
|
||||
base_uri = request.host_url
|
||||
return request.host_url
|
||||
except Exception:
|
||||
base_uri = cls.BASE_URI
|
||||
return cls.BASE_URI
|
||||
else:
|
||||
base_uri = cls.BASE_URI
|
||||
return cls.BASE_URI
|
||||
|
||||
@classmethod
|
||||
def _get_resource_links(cls, obj, request):
|
||||
base_uri = cls._get_base_url(request)
|
||||
|
||||
path = cls._get_path(request, obj)
|
||||
return {'self': '%s%s/%s' % (base_uri, path, obj.id)}
|
||||
|
@ -135,13 +139,7 @@ class APIv2Adapter(base.DesignateAdapter):
|
|||
if extra_params is not None:
|
||||
params.update(extra_params)
|
||||
|
||||
if cfg.CONF['service:api'].enable_host_header:
|
||||
try:
|
||||
base_uri = request.host_url
|
||||
except Exception:
|
||||
base_uri = cls.BASE_URI
|
||||
else:
|
||||
base_uri = cls.BASE_URI
|
||||
base_uri = cls._get_base_url(request)
|
||||
|
||||
href = "%s%s?%s" % (
|
||||
base_uri,
|
||||
|
|
|
@ -51,8 +51,13 @@ class FloatingIPAPIv2Adapter(base.APIv2Adapter):
|
|||
|
||||
@classmethod
|
||||
def _get_resource_links(cls, object, request):
|
||||
return {'self': '%s%s/%s' %
|
||||
(cls.BASE_URI, cls._get_path(request), object.key)}
|
||||
return {
|
||||
'self': '%s%s/%s' % (
|
||||
cls._get_base_url(request),
|
||||
cls._get_path(request),
|
||||
object.key
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
class FloatingIPListAPIv2Adapter(base.APIv2Adapter):
|
||||
|
|
|
@ -44,8 +44,10 @@ class ServiceStatusAPIv2Adapter(base.APIv2Adapter):
|
|||
obj = super(ServiceStatusAPIv2Adapter, cls)._render_object(
|
||||
object, *args, **kwargs)
|
||||
|
||||
obj['links']['self'] = \
|
||||
'%s/v2/%s/%s' % (cls.BASE_URI, 'service_statuses', obj['id'])
|
||||
obj['links']['self'] = (
|
||||
'%s/v2/%s/%s' % (cls._get_base_url(kwargs['request']),
|
||||
'service_statuses', obj['id'])
|
||||
)
|
||||
|
||||
return obj
|
||||
|
||||
|
|
|
@ -48,8 +48,10 @@ class ZoneImportAPIv2Adapter(base.APIv2Adapter):
|
|||
object, *args, **kwargs)
|
||||
|
||||
if obj['zone_id'] is not None:
|
||||
obj['links']['zone'] = \
|
||||
'%s/v2/%s/%s' % (cls.BASE_URI, 'zones', obj['zone_id'])
|
||||
obj['links']['zone'] = (
|
||||
'%s/v2/%s/%s' % (cls._get_base_url(kwargs['request']), 'zones',
|
||||
obj['zone_id'])
|
||||
)
|
||||
|
||||
return obj
|
||||
|
||||
|
|
|
@ -49,8 +49,10 @@ class ZoneTransferAcceptAPIv2Adapter(base.APIv2Adapter):
|
|||
obj = super(ZoneTransferAcceptAPIv2Adapter, cls)._render_object(
|
||||
object, *args, **kwargs)
|
||||
|
||||
obj['links']['zone'] = \
|
||||
'%s/v2/%s/%s' % (cls.BASE_URI, 'zones', obj['zone_id'])
|
||||
obj['links']['zone'] = (
|
||||
'%s/v2/%s/%s' % (cls._get_base_url(kwargs['request']), 'zones',
|
||||
obj['zone_id'])
|
||||
)
|
||||
|
||||
return obj
|
||||
|
||||
|
|
Loading…
Reference in New Issue