INNER CODE UNIT · Python
verify_context
kejilion/sh · site_access_cli.py:88
def verify_context():
read_checked(config_dir, config_name, request['configVersion'], 2 << 20)
return edit_account(password_dir, password_name, request['fileVersion'], request['operation'],
request['username'], password=request.get('password', ''),
previous_username=request.get('previousUsername'), assert_context=verify_context)
finally:
os.close(password_dir)
finally:
os.close(config_dir)
def apply_rule(rootfd, request, *, validate=None, reload_config=None,
worker_group=nginx_worker_group, verify_read=check_worker_read, global_policy=nginx_global_config):
common = {'operation', 'configName', 'configVersion', 'scope', 'path', 'modifier'}
action = request.get('operation') if isinstance(request, dict) else None
needed = {'username', 'password', 'serverIndices'} if action == 'rule-add' else {'fileVersion', 'serverIndex'} if action == 'rule-delete' else set()
if action not in ('rule-add', 'rule-delete') or request.keys() != common | needed:
raise ConfigError('invalid rule request')