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()¶