File: //opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/__pycache__/_cpdispatch.cpython-310.pyc
o
�N�g0c � @ sP d Z ddlZddlZddlZzeejfZW n ey eZY nw ddlZG dd� de �Z
dd� ZzddlZW n
e
yD dd� ZY n
w ejZeed�rQd d
� ZG dd� de
�Zejd
k roe�ejdeej� �Zdd� Zne�ejdeej� �Zdd� ZG dd� de �ZG dd� de�ZG dd� de �Ze� fdd�Ze� dfdd�ZdS )a� CherryPy dispatchers.
A 'dispatcher' is the object which looks up the 'page handler' callable
and collects config for the current request based on the path_info, other
request attributes, and the application architecture. The core calls the
dispatcher as early as possible, passing it a 'path_info' argument.
The default dispatcher discovers the page handler by matching path_info
to a hierarchical arrangement of objects, starting at request.app.root.
� Nc @ sT e Zd ZdZdd� Zedd� �Zejdd� �Zedd� �Zejd d� �Zd
d� Z dS )
�PageHandlerz"Callable which sets response.body.c O s || _ || _|| _d S �N��callable�args�kwargs)�selfr r r � r �H/opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/_cpdispatch.py�__init__ s
zPageHandler.__init__c C �
t jjjS )z?The ordered args should be accessible from post dispatch hooks.��cherrypy�serving�requestr �r r r r
r �
zPageHandler.argsc C � |t jj_t jjjS r r
)r r r r r
r % �
c C r )z?The named kwargs should be accessible from post dispatch hooks.�r r r r r r r r
r * r zPageHandler.kwargsc C r r r �r r r r r
r / r c C sv z| j | ji | j��W S ty: t�� d }zt| j | j| j� W � tjy1 t�� d � t y9 |�w w )N� )
r r r � TypeError�sys�exc_info�test_callable_specr � HTTPError� Exception)r �xr r r
�__call__4 s ���zPageHandler.__call__N)
�__name__�
__module__�__qualname__�__doc__r �propertyr �setterr r r r r r
r s
r c C s t tjjdd�}z
t| �\}}}}W n ty0 t| t�r-t| d�r-t| j �\}}}}n� Y nw |rCt| d�s=t
�| �rC|dd� }tdd� |D ��}d} d}
t
� }t|�D ]\}}
z||| d7 <