Server IP : 162.0.217.223 / Your IP : 216.73.216.112 Web Server : LiteSpeed System : Linux premium269.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : mypckeys ( 1539) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/cl_website_collector/ |
Upload File : |
# -*- coding: utf-8 -*- # # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2024 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT import os from copy import deepcopy import requests class FeatureManagerApiException(Exception): pass class FeatureManager: """ Communicates with FeatureManager API to get feature settings based on server metadata """ def __init__(self, app_logger): self.api_url = self.base_url() + "/feature_manager/feature_settings" self.app_logger = app_logger @staticmethod def base_url() -> str: base_url = "https://x-ray-advice.cloudlinux.com" if os.path.exists("/opt/cloudlinux/staging_mode"): base_url = "https://x-ray-staging.cloudlinux.com" return base_url def request(self, payload): response = requests.get(self.api_url, json=payload, timeout=20) self.app_logger.info(f"FeatureManager request to {self.api_url} " f"with payload {payload} " f"returned {response.status_code}") if response.status_code != 200: raise FeatureManagerApiException(f"FeatureManager API returned {response.status_code}") return response.json() def get_decision(self, server_metadata, reason): payload = deepcopy(server_metadata) payload["reason"] = reason return self.request(payload)