diff options
author | Michael Gundlach <michael.gundlach@rackspace.com> | 2010-09-15 17:17:20 -0400 |
---|---|---|
committer | Michael Gundlach <michael.gundlach@rackspace.com> | 2010-09-15 17:17:20 -0400 |
commit | 7437df558f3277e21a4c34a5b517a1cae5dd5a74 (patch) | |
tree | 2258116e2d885188cd3bbc16bdcc66fe0605334e /nova/api/__init__.py | |
parent | 433d83a7e487b41ba4caa7aa5addfc7365975f0b (diff) | |
download | nova-7437df558f3277e21a4c34a5b517a1cae5dd5a74.tar.gz |
Support querying version list
Diffstat (limited to 'nova/api/__init__.py')
-rw-r--r-- | nova/api/__init__.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/nova/api/__init__.py b/nova/api/__init__.py index b9b9e3988f..9f116dadad 100644 --- a/nova/api/__init__.py +++ b/nova/api/__init__.py @@ -21,6 +21,7 @@ Root WSGI middleware for all API controllers. """ import routes +import webob.dec from nova import wsgi from nova.api import ec2 @@ -32,6 +33,18 @@ class API(wsgi.Router): def __init__(self): mapper = routes.Mapper() + mapper.connect("/", controller=self.versions) mapper.connect("/v1.0/{path_info:.*}", controller=rackspace.API()) mapper.connect("/ec2/{path_info:.*}", controller=ec2.API()) super(API, self).__init__(mapper) + + @webob.dec.wsgify + def versions(self, req): + """Respond to a request for all OpenStack API versions.""" + response = { + "versions": [ + dict(status="CURRENT", id="v1.0")]} + metadata = { + "application/xml": { + "attributes": dict(version=["status", "id"])}} + return wsgi.Serializer(req.environ, metadata).to_content_type(response) |