Public HTTP interface that allows services to self-register.
Bases: nova.wsgi.Middleware
A simple and naive authentication middleware.
Designed mostly to provide basic support for alternative authentication schemes, this middleware only desires the identity of the user and will generate the appropriate nova.context.RequestContext for the rest of the application. This allows any middleware above it in the stack to authenticate however it would like while only needing to conform to a minimal interface.
This middleware is tied to identity management and will need to be kept in sync with any changes to the way identity is dealt with internally.
Bases: nova.wsgi.Middleware
Middleware to allow method arguments to be passed as serialized JSON.
Accepting arguments as JSON is useful for accepting data that may be more complex than simple primitives.
In this case we accept it as urlencoded data under the key ‘json’ as in json=<urlencoded_json> but this could be extended to accept raw JSON in the POST body.
Filters out the parameters self, context and anything beginning with an underscore.
Bases: object
Bases: nova.wsgi.Middleware
Middleware to allow method arguments to be passed as POST parameters.
Filters out the parameters self, context and anything beginning with an underscore.
Bases: object
Pretend a Direct API endpoint is an object.
This is mostly useful in testing at the moment though it should be easily extendable to provide a basic API library functionality.
In testing we use this to stub out internal objects to verify that results from the API are serializable.
Bases: object
Reflection methods to list available methods.
This is an object that expects to be registered via register_service. These methods allow the endpoint to be self-describing. They introspect the exposed methods and provide call signatures and documentation for them allowing quick experimentation.
List available controllers.
Get detailed information about a method.
List available methods.
Bases: nova.wsgi.Router
A simple WSGI router configured via register_service.
This is a quick way to attach multiple services to a given endpoint. It will automatically load the routes registered in the ROUTES global.
TODO(termie): provide a paste-deploy version of this.
Bases: object
Wrapper to dynamically provide a WSGI controller for arbitrary objects.
With lightweight introspection allows public methods on the object to be accessed via simple WSGI routing and parameters and serializes the return values.
Automatically used be nova.api.direct.Router to wrap registered instances.
Register a service handle at a given path.
Services registered in this way will be made available to any instances of nova.api.direct.Router.
Parameters: |
|
---|