o
    h'                     @   s8   d dl mZ ddlmZ ddlmZ G dd deZdS )    )HttpResponse   )_OpenAPICodec)SwaggerValidationErrorc                   @   s$   e Zd Zdd Zdd Zdd ZdS )SwaggerExceptionMiddlewarec                 C   s
   || _ d S Nget_response)selfr	    r   [/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/drf_yasg/middleware.py__init__      
z#SwaggerExceptionMiddleware.__init__c                 C   s
   |  |S r   r   )r
   requestr   r   r   __call__   r   z#SwaggerExceptionMiddleware.__call__c                 C   sL   t |tr$|jt|d}|j}t |tr$||}|j}t|d|dS d S )N)errorsmessagei  )statuscontent_type)	
isinstancer   r   strZsource_codecr   Zencode_error
media_typer   )r
   r   	exceptionerrcodecr   r   r   r   process_exception   s   


z,SwaggerExceptionMiddleware.process_exceptionN)__name__
__module____qualname__r   r   r   r   r   r   r   r      s    r   N)Zdjango.httpr   codecsr   r   r   objectr   r   r   r   r   <module>   s    