INNER CODE UNIT · Python
main
kejilion/sh · site_access_cli.py:220
def main():
data = sys.stdin.buffer.read(MAX_REQUEST + 1)
if len(data) > MAX_REQUEST:
raise ConfigError('request too large')
request = json.loads(data)
rootfd = os.open('/home/web', os.O_RDONLY | os.O_DIRECTORY | os.O_NOFOLLOW | os.O_CLOEXEC)
try:
if isinstance(request, dict) and request.get('operation') == 'create-stage':
version = apply_creation(rootfd, request,
expected_version=os.environ.get('KJ_WEB_ACCESS_CONFIG_VERSION', ''),
expected_domain=os.environ.get('KJ_WEB_ACCESS_DOMAIN', ''),
staged_name=os.environ.get('KJ_WEB_ACCESS_STAGED_NAME', ''),
verify_only=os.environ.get('KJ_WEB_ACCESS_VERIFY', '') == '1')
elif isinstance(request, dict) and request.get('operation') == 'quarantine':
version = apply_quarantine(rootfd, request)
elif isinstance(request, dict) and request.get('operation') in ('rule-add', 'rule-delete'):
version = apply_rule(rootfd, request)
else: