| Server IP : 46.245.81.90 / Your IP : 216.73.216.85 Web Server : Apache System : Linux server3ir.xdlhost.com 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64 User : gmparts ( 1037) PHP Version : 8.1.34 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/internal/__pycache__/ |
Upload File : |
�
�Mj
@ �
�D � d Z ddlZddlZddlZddlZddlZddlZddlmc m Z
ddlmZ ddl
mZ ddlmZmZ ddlmZ ddlmZmZmZmZmZmZmZ ddlmZmZ dd lmZ ddlZdd
l m!Z! ddl"m#Z# ddl$m%Z% dd
l&m'Z'm(Z(m)Z)m*Z* ddl+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1 ddl+m2Z2 ddl3m4Z4 ddl5m6Z6 ej7 d� � Z8 edddg� � Z9de:de:fd�Z;de:de9fd�Z<dee: fd�Z=dee: fd�Z>dFd�Z?dGd!e:d"e@de:fd#�ZAd$e:de:fd%�ZBdHd'e:d(eCdefd)�ZDde:fd*�ZEdId,e:de:fd-�ZFde:fd.�ZGd/eCdeHfd0�ZId1e:dee: fd2�ZJde@fd3�ZKde@fd4�ZLde@fd5�ZMd6e@ddfd7�ZNde@fd8�ZOde:fd9�ZPd:e:d;ee:ef de@fd<�ZQd=� ZRedJd>eCddfd?�� � ZSe dKdBeCdCeCd>eCddfdD�� � ZTdAZUdE� ZVdS )Lz>
This module contains helpful utility functions for SSA Agent
� N)�
namedtuple)�contextmanager)�date� timedelta)�LooseVersion)�socket�fromfd�AF_UNIX�SOCK_STREAM�AF_INET�AF_INET6�
SOCK_DGRAM)�Optional�Union)�urlparse)�AtexitIntegration)�LoggingIntegration)�Feature)�is_panel_feature_supported�get_cp_description�is_throttling_supported�is_wp2_environment)�get_kmodlve_module_version�get_username)�get_cl_edition_readable)�get_hostname)�get_rhn_systemid_value� )�
sentry_dsn)�SSAError�utils�URL�domain_name�uri_path�url�returnc �R � t | � � j � dd� � S )u�
The domain string the request processor stores as RequestResult.domain.
This is the single source of truth for a URL's domain attribution: it
operates on the raw netloc and removes every 'www.' substring, exactly as
the stored metric is keyed. The authorizer MUST derive its decision from
this same value (see SimpleAgent._authorize_sender) — any divergence
re-opens cross-tenant metric spoofing.
zwww.� )r �netloc�replace)r% s �I/opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/internal/utils.py�canonical_stored_domainr, 0 s# � � �C�=�=��'�'���3�3�3� c � � t | � � }|j r
d|j � �nd}|j r|j � |� �nd}t t | � � |� � S )z�
Split URL into domain_name and uripath including query string
:param url: URL of format protocol://domain/path;parameters?query#fragment
:return: namedtuple URL(domain_name, uripath)
�?r( �/)r �query�pathr"