HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/__pycache__/_cpserver.cpython-310.pyc
o

�N�g� �@sHdZddlZddlmZddlmZddlmZdZGdd�de�Z	dS)	z"Manage HTTP servers with CherryPy.�N)�
attributes)�
text_or_bytes)�
ServerAdapter)�ServercseZdZdZdZ	dZedd��Zejdd��ZdZ		dZ
	d	Z	d
Z	d	Z
	dZ	dZ	d	Z	d
Z	dZ	d
Z	dZ	dZ	dZ	dZ	dZ	dZ	dZ	dZ	dZ	dZ	dZ	dZ	dd�Z ddd�Z!�fdd�Z"de"_#edd��Z$e$jdd��Z$dd�Z%�Z&S)raAn adapter for an HTTP server.

    You can set attributes (like socket_host and socket_port)
    on *this* object (which is probably cherrypy.server), and call
    quickstart. For example::

        cherrypy.server.socket_port = 80
        cherrypy.quickstart()
    i�z	127.0.0.1cCs|jS)a�The hostname or IP address on which to listen for connections.

        Host values may be any IPv4 or IPv6 address, or any valid hostname.
        The string 'localhost' is a synonym for '127.0.0.1' (or '::1', if
        your hosts file prefers IPv6). The string '0.0.0.0' is a special
        IPv4 entry meaning "any active interface" (INADDR_ANY), and '::'
        is the similar IN6ADDR_ANY for IPv6. The empty string or None are
        not allowed.
        )�_socket_host��self�r	�F/opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/_cpserver.py�socket_hostszServer.socket_hostcCs|dkrtd��||_dS)N�zuThe empty string ('') is not an allowed value. Use '0.0.0.0' instead to listen on all active interfaces (INADDR_ANY).)�
ValueErrorr�r�valuer	r	r
r)s
N��
���zHTTP/1.1i�i@ZbuiltinFT)�rcCstj|_d|_d|_d|_dS)zInitialize Server instance.NF)�cherrypyZengineZbus�
httpserverZ	interruptZrunningrr	r	r
�__init__�s
zServer.__init__cCsL|dur|j}|durddlm}|�|�}t|t�r!t|�|�}||jfS)z?Return a (httpserver, bind_addr) pair based on self attributes.Nr)�_cpwsgi_server)�instancerrZCPWSGIServer�
isinstancerr�	bind_addr)rrrr	r	r
�httpserver_from_self�s


zServer.httpserver_from_selfcs(|js|��\|_|_tt|���dS)zStart the HTTP server.N)rrr�superr�startr��	__class__r	r
r�szServer.start�KcCs0|jr|jS|jdur|jdurdS|j|jfS)zlReturn bind address.

        A (host, port) tuple for TCP sockets or a str for Unix domain sockts.
        N)�socket_filer�socket_portrr	r	r
r�s
zServer.bind_addrcCsr|durd|_d|_d|_dSt|t�r||_d|_d|_dSz|\|_|_d|_WdSty8td|��w)Nzfbind_addr must be a (host, port) tuple (for TCP sockets) or a string (for Unix domain sockets), not %r)r!rr"rrr
rr	r	r
r�s 


��cCst|jr|jS|j}|dvrddl}|��}|j}|jr(d}|dkr'|d|7}nd}|dkr4|d|7}d	||fS)
zYReturn the base for this server.

        e.i. scheme://host[:port] or sock file
        )z0.0.0.0z::rN�httpsi�z:%s�http�Pz%s://%s)r!r�socket�gethostnamer"�ssl_certificate)r�hostr&�port�schemer	r	r
�base�s �zServer.base)N)'�__name__�
__module__�__qualname__�__doc__r"r�propertyr�setterr!Zsocket_queue_sizeZsocket_timeoutZaccepted_queue_sizeZaccepted_queue_timeoutZshutdown_timeoutZprotocol_versionZthread_poolZthread_pool_maxZmax_request_header_sizeZmax_request_body_sizerZssl_contextr(Zssl_certificate_chainZssl_private_keyZssl_ciphersZ
ssl_module�
statisticsZnodelayZwsgi_versionZ	peercredsZpeercreds_resolverrr�priorityrr,�
__classcell__r	r	rr
rs�





r)
r0rZcherrypy.lib.reprconfrZcherrypy._cpcompatrZcherrypy.process.serversr�__all__rr	r	r	r
�<module>s