
    )`i'                         d dl mZmZmZmZ d dlmZ d dlmZ deeeee	ef         f                  dedee	ef         fdZ
dS )	    )AnyDictOptionalUnion)Request)	BaseModelrequestraw_requestreturnc                     d}t          | t                    r|                                 }nt          | t                    r| }||j        |j        |j        dS )a  Create a structured data dictionary for JMESPath transformations.

    Extracts and organizes request data into a standardized format that can be used
    with JMESPath expressions to transform and extract specific data elements.

    :param Optional[Union[BaseModel, Dict[str, Any]]] request: Request body data - can be:
        - Pydantic BaseModel instance (will be converted to dict via model_dump())
        - Dictionary containing request data
        - None if no request body
    :param Request raw_request: The raw FastAPI request object
    :return Dict[str, Any]: Structured data with body, headers, query_params, and path_params
    N)bodyheadersquery_paramspath_params)
isinstancer   
model_dumpdictr   r   r   )r	   r
   r   s      /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/model_hosting_container_standards/common/fastapi/utils.pyserialize_requestr      sk      D'9%% !!##	GT	"	"  &#0".	      N)typingr   r   r   r   fastapir   pydanticr   strr    r   r   <module>r      s    - - - - - - - - - - - -            eItCH~567FM	#s(^     r   