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