o
    zV
h;                     @   s8   d dl mZmZ d dlmZ d dlZG dd deZdS )    )RequestHTTPException)BaseHTTPMiddlewareNc                   @   s,   e Zd ZdefddZdedefddZdS )	InputSanitizationMiddlewarerequestc                    sP    fdd|j  D }ddd | D d|jd< ||I d H }|S )Nc                    s   i | ]
\}}|  |qS  )sanitize_input.0keyvalueselfr   */var/www/html/moveengine/app/middleware.py
<dictcomp>   s    z8InputSanitizationMiddleware.dispatch.<locals>.<dictcomp>&c                 S   s   g | ]\}}| d | qS )=r   r	   r   r   r   
<listcomp>   s    z8InputSanitizationMiddleware.dispatch.<locals>.<listcomp>zutf-8query_string)query_paramsitemsjoinencodescope)r   r   	call_nextsanitized_query_paramsresponser   r   r   dispatch   s   
z$InputSanitizationMiddleware.dispatch	input_strreturnc                 C   s   t dd|}|S )Nz[;\\'] )resub)r   r   sanitized_strr   r   r   r      s   z*InputSanitizationMiddleware.sanitize_inputN)__name__
__module____qualname__r   r   strr   r   r   r   r   r      s    r   )fastapir   r   starlette.middleware.baser   r!   r   r   r   r   r   <module>   s    