karbor.api.openstack.wsgi
Module¶karbor.api.openstack.wsgi.
ActionDispatcher
¶Bases: object
Maps method name to local methods through action name.
default
(data)¶dispatch
(*args, **kwargs)¶Find and call local method.
karbor.api.openstack.wsgi.
Controller
(view_builder=None)¶Bases: object
Default controller.
assert_valid_body
(body, entity_name)¶is_valid_body
(body, entity_name)¶validate_name_and_description
(body)¶validate_string_length
(value, entity_name, min_length=0, max_length=None, remove_whitespaces=False)¶Check the length of specified string.
Parameters: |
|
---|
wsgi_actions
= {}¶wsgi_extensions
= []¶karbor.api.openstack.wsgi.
ControllerMetaclass
¶Bases: type
Controller metaclass.
This metaclass automates the task of assembling a dictionary mapping action keys to method names.
karbor.api.openstack.wsgi.
DictSerializer
¶Bases: karbor.api.openstack.wsgi.ActionDispatcher
Default request body serialization.
default
(data)¶serialize
(data, action='default')¶karbor.api.openstack.wsgi.
Fault
(exception)¶Bases: webob.exc.HTTPException
Wrap webob.exc.HTTPException to provide API friendly response.
karbor.api.openstack.wsgi.
JSONDeserializer
¶Bases: karbor.api.openstack.wsgi.TextDeserializer
default
(datastring)¶karbor.api.openstack.wsgi.
JSONDictSerializer
¶Bases: karbor.api.openstack.wsgi.DictSerializer
Default JSON request body serialization.
default
(data)¶karbor.api.openstack.wsgi.
OverLimitFault
(message, details, retry_time)¶Bases: webob.exc.HTTPException
Rate-limited request response.
karbor.api.openstack.wsgi.
Request
(environ, charset=None, unicode_errors=None, decode_param_names=None, **kw)¶Bases: karbor.wsgi.common.Request
best_match_content_type
()¶Determine the most acceptable content-type.
best_match_language
()¶Determines best available locale from the Accept-Language header.
Returns: | the best language match or None if the ‘Accept-Language’ header was not available in the request. |
---|
get_content_type
()¶karbor.api.openstack.wsgi.
Resource
(controller, action_peek=None, **deserializers)¶Bases: karbor.wsgi.common.Application
WSGI app that handles (de)serialization and controller dispatch.
WSGI app that reads routing information supplied by RoutesMiddleware and calls the requested action method upon its controller. All controller action methods must accept a ‘req’ argument, which is the incoming wsgi.Request. If the operation is a PUT or POST, the controller method must also accept a ‘body’ argument (the deserialized request body). They may raise a webob.exc exception or return a dict, which will be serialized by requested content type.
Exceptions derived from webob.exc.HTTPException will be automatically wrapped in Fault() to provide API friendly error responses.
deserialize
(meth, content_type, body)¶dispatch
(method, request, action_args)¶Dispatch a call to the action-specific method.
get_action_args
(request_environment)¶Parse dictionary created by routes library.
get_body
(request)¶get_method
(request, action, content_type, body)¶Look up the action-specific method and its extensions.
post_process_extensions
(extensions, resp_obj, request, action_args)¶pre_process_extensions
(extensions, request, action_args)¶register_actions
(controller)¶Registers controller actions with this resource.
register_extensions
(controller)¶Registers controller extensions with this resource.
karbor.api.openstack.wsgi.
ResourceExceptionHandler
¶Bases: object
Context manager to handle Resource exceptions.
Used when processing exceptions generated by API implementation methods (or their extensions). Converts most exceptions to Fault exceptions, with the appropriate logging.
karbor.api.openstack.wsgi.
ResponseObject
(obj, code=None, **serializers)¶Bases: object
Bundles a response object with appropriate serializers.
Object that app methods may return in order to bind alternate serializers with a response object to be serialized. Its use is optional.
attach
(**kwargs)¶Attach slave templates to serializers.
code
¶Retrieve the response status.
get_serializer
(content_type, default_serializers=None)¶Returns the serializer for the wrapped object.
Returns the serializer for the wrapped object subject to the indicated content type. If no serializer matching the content type is attached, an appropriate serializer drawn from the default serializers will be used. If no appropriate serializer is available, raises InvalidContentType.
headers
¶Retrieve the headers.
preserialize
(content_type, default_serializers=None)¶Prepares the serializer that will be used to serialize.
Determines the serializer that will be used and prepares an instance of it for later call. This allows the serializer to be accessed by extensions for, e.g., template extension.
serialize
(request, content_type, default_serializers=None)¶Serializes the wrapped object.
Utility method for serializing the wrapped object. Returns a webob.Response object.
karbor.api.openstack.wsgi.
TextDeserializer
¶Bases: karbor.api.openstack.wsgi.ActionDispatcher
Default request body deserialization.
default
(datastring)¶deserialize
(datastring, action='default')¶karbor.api.openstack.wsgi.
action
(name)¶Mark a function as an action.
The given name will be taken as the action key in the body.
This is also overloaded to allow extensions to provide non-extending definitions of create and delete operations.
karbor.api.openstack.wsgi.
action_peek_json
(body)¶Determine action to invoke.
karbor.api.openstack.wsgi.
deserializers
(**deserializers)¶Attaches deserializers to a method.
This decorator associates a dictionary of deserializers with a method. Note that the function attributes are directly manipulated; the method is not wrapped.
karbor.api.openstack.wsgi.
extends
(*args, **kwargs)¶Indicate a function extends an operation.
Can be used as either:
@extends
def index(...):
pass
or as:
@extends(action='resize')
def _action_resize(...):
pass
karbor.api.openstack.wsgi.
response
(code)¶Attaches response code to a method.
This decorator associates a response code with a method. Note that the function attributes are directly manipulated; the method is not wrapped.
karbor.api.openstack.wsgi.
serializers
(**serializers)¶Attaches serializers to a method.
This decorator associates a dictionary of serializers with a method. Note that the function attributes are directly manipulated; the method is not wrapped.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.