panko.api package¶
Subpackages¶
Submodules¶
panko.api.app module¶
-
panko.api.app.app_factory(global_config, **local_conf)¶
-
panko.api.app.build_wsgi_app(argv=None)¶
-
panko.api.app.load_app(conf, appname='panko+keystone')¶
-
panko.api.app.setup_app(root, conf)¶
panko.api.hooks module¶
-
class
panko.api.hooks.ConfigHook(conf)¶ Bases:
pecan.hooks.PecanHookAttach the configuration object to the request.
That allows controllers to get it.
-
before(state)¶ Override this method to create a hook that gets called after routing, but before the request gets passed to your controller.
- Parameters
state – The Pecan
stateobject for the current request.
-
panko.api.middleware module¶
Middleware to replace the plain text message body of an error response with one formatted so the client can parse it.
Based on pecan.middleware.errordocument
-
class
panko.api.middleware.ParsableErrorMiddleware(app)¶ Bases:
objectReplace error body with something the client can parse.
-
static
best_match_language(accept_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.
-
static
panko.api.rbac module¶
Access Control Lists (ACL’s) control access the API server.
-
panko.api.rbac.enforce(policy_name, request)¶ Return the user and project the request should be limited to.
- Parameters
request – HTTP request
policy_name – the policy name to validate authz against.
-
panko.api.rbac.get_limited_to(headers)¶ Return the user and project the request should be limited to.
- Parameters
headers – HTTP headers dictionary
- Returns
A tuple of (user, project), set to None if there’s no limit on one of these.
-
panko.api.rbac.get_limited_to_project(headers)¶ Return the project the request should be limited to.
- Parameters
headers – HTTP headers dictionary
- Returns
A project, or None if there’s no limit on it.
-
panko.api.rbac.init()¶
-
panko.api.rbac.reset()¶