rest: Add links to /v1 endpoint
This change adds links to /v1 endpoint and return 200 instead of 400 Change-Id: I41a09a12a53d33cbcdd38c27e6f367ee2b4d5e79 Closes-bug: #1424627
This commit is contained in:
parent
d735491ab6
commit
c8fb2af7b9
|
@ -1174,13 +1174,33 @@ class CapabilityController(rest.RestController):
|
|||
|
||||
|
||||
class V1Controller(object):
|
||||
search = SearchController()
|
||||
archive_policy = ArchivePoliciesController()
|
||||
archive_policy_rule = ArchivePolicyRulesController()
|
||||
metric = MetricsController()
|
||||
resource = ResourcesController()
|
||||
aggregation = Aggregation()
|
||||
capabilities = CapabilityController()
|
||||
|
||||
def __init__(self):
|
||||
self.sub_controllers = {
|
||||
"search": SearchController(),
|
||||
"archive_policy": ArchivePoliciesController(),
|
||||
"archive_policy_rule": ArchivePolicyRulesController(),
|
||||
"metric": MetricsController(),
|
||||
"resource": ResourcesController(),
|
||||
"aggregation": Aggregation(),
|
||||
"capabilities": CapabilityController()
|
||||
}
|
||||
for name, ctrl in self.sub_controllers.items():
|
||||
setattr(self, name, ctrl)
|
||||
|
||||
@pecan.expose('json')
|
||||
def index(self):
|
||||
return {
|
||||
"version": "1.0",
|
||||
"links": [
|
||||
{"rel": "self",
|
||||
"href": pecan.request.application_url + "/v1"}
|
||||
] + [
|
||||
{"rel": name,
|
||||
"href": pecan.request.application_url + "/v1/" + name}
|
||||
for name in sorted(self.sub_controllers)
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
class RootController(object):
|
||||
|
|
|
@ -38,11 +38,13 @@ tests:
|
|||
$.versions[0].links[0].href: $SCHEME://$NETLOC/v1/
|
||||
|
||||
- name: root of v1
|
||||
desc: https://bugs.launchpad.net/gnocchi/+bug/1424627
|
||||
url: /v1
|
||||
xfail: true
|
||||
response_strings:
|
||||
- some hypermedia
|
||||
redirects: true
|
||||
response_json_paths:
|
||||
$.version: "1.0"
|
||||
$.links.`len`: 8
|
||||
$.links[0].href: $SCHEME://$NETLOC/v1
|
||||
$.links[7].href: $SCHEME://$NETLOC/v1/search
|
||||
|
||||
- name: root of resource
|
||||
url: /v1/resource
|
||||
|
|
Loading…
Reference in New Issue